From aadd2ffa6a7b2283e2f375e6ded5f5fa0537cbee Mon Sep 17 00:00:00 2001 From: Juliusz Stasiewicz Date: Thu, 21 May 2020 14:47:11 +0200 Subject: [PATCH] api: Added command `/storage_service/cdc_streams_check_and_repair` This commit introduces a placeholder for HTTP POST request at `/storage_service/cdc_streams_check_and_repair`. --- api/api-doc/storage_service.json | 15 +++++++++++++++ api/storage_service.cc | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/api/api-doc/storage_service.json b/api/api-doc/storage_service.json index aab7dba6a4..4dcffb00fe 100644 --- a/api/api-doc/storage_service.json +++ b/api/api-doc/storage_service.json @@ -511,6 +511,21 @@ } ] }, + { + "path":"/storage_service/cdc_streams_check_and_repair", + "operations":[ + { + "method":"POST", + "summary":"Checks that CDC streams reflect current cluster topology and regenerates them if not.", + "type":"void", + "nickname":"cdc_streams_check_and_repair", + "produces":[ + "application/json" + ], + "parameters":[] + } + ] + }, { "path":"/storage_service/snapshots", "operations":[ diff --git a/api/storage_service.cc b/api/storage_service.cc index d0cbbad51a..40ccfa5928 100644 --- a/api/storage_service.cc +++ b/api/storage_service.cc @@ -42,6 +42,8 @@ #include "database.hh" #include "db/extensions.hh" +extern logging::logger apilog; + namespace api { namespace ss = httpd::storage_service_json; @@ -232,6 +234,11 @@ void set_storage_service(http_context& ctx, routes& r) { req.get_query_param("key"))); }); + ss::cdc_streams_check_and_repair.set(r, [&ctx] (std::unique_ptr req) { + // TODO(JS): regenerate streams + return make_ready_future(json_void()); + }); + ss::force_keyspace_compaction.set(r, [&ctx](std::unique_ptr req) { auto keyspace = validate_keyspace(ctx, req->param); auto column_families = split_cf(req->get_query_param("cf"));