diff --git a/pageserver/src/http/openapi_spec.yml b/pageserver/src/http/openapi_spec.yml index 38e07f172d..b8e44e59c3 100644 --- a/pageserver/src/http/openapi_spec.yml +++ b/pageserver/src/http/openapi_spec.yml @@ -52,6 +52,21 @@ paths: schema: type: object + /v1/deletion_queue/flush_execute: + put: + description: Execute any deletions currently enqueued + security: [] + responses: + "200": + description: | + Flush completed: deletion has been attempted for enqueued objects. This does not guarantee + that deletion executed successfully. + content: + application/json: + schema: + type: object + + /v1/tenant/{tenant_id}: parameters: - name: tenant_id diff --git a/pageserver/src/http/routes.rs b/pageserver/src/http/routes.rs index c65cc84a8e..5435535d02 100644 --- a/pageserver/src/http/routes.rs +++ b/pageserver/src/http/routes.rs @@ -1132,6 +1132,28 @@ async fn always_panic_handler( json_response(StatusCode::NO_CONTENT, ()) } +async fn deletion_queue_flush_execute( + r: Request
, + cancel: CancellationToken, +) -> Result