diff --git a/api/storage_service.cc b/api/storage_service.cc index 8dbdcee9cc..de835a0b6c 100644 --- a/api/storage_service.cc +++ b/api/storage_service.cc @@ -250,17 +250,21 @@ future set_tables_tombstone_gc(http_context& ctx, const } void set_transport_controller(http_context& ctx, routes& r, cql_transport::controller& ctl) { - ss::start_native_transport.set(r, [&ctl](std::unique_ptr req) { + ss::start_native_transport.set(r, [&ctx, &ctl](std::unique_ptr req) { return smp::submit_to(0, [&] { - return ctl.start_server(); + return with_scheduling_group(ctx.db.local().get_statement_scheduling_group(), [&ctl] { + return ctl.start_server(); + }); }).then([] { return make_ready_future(json_void()); }); }); - ss::stop_native_transport.set(r, [&ctl](std::unique_ptr req) { + ss::stop_native_transport.set(r, [&ctx, &ctl](std::unique_ptr req) { return smp::submit_to(0, [&] { - return ctl.request_stop_server(); + return with_scheduling_group(ctx.db.local().get_statement_scheduling_group(), [&ctl] { + return ctl.request_stop_server(); + }); }).then([] { return make_ready_future(json_void()); }); @@ -282,17 +286,21 @@ void unset_transport_controller(http_context& ctx, routes& r) { } void set_rpc_controller(http_context& ctx, routes& r, thrift_controller& ctl) { - ss::stop_rpc_server.set(r, [&ctl](std::unique_ptr req) { + ss::stop_rpc_server.set(r, [&ctx, &ctl](std::unique_ptr req) { return smp::submit_to(0, [&] { - return ctl.request_stop_server(); + return with_scheduling_group(ctx.db.local().get_statement_scheduling_group(), [&ctl] { + return ctl.request_stop_server(); + }); }).then([] { return make_ready_future(json_void()); }); }); - ss::start_rpc_server.set(r, [&ctl](std::unique_ptr req) { + ss::start_rpc_server.set(r, [&ctx, &ctl](std::unique_ptr req) { return smp::submit_to(0, [&] { - return ctl.start_server(); + return with_scheduling_group(ctx.db.local().get_statement_scheduling_group(), [&ctl] { + return ctl.start_server(); + }); }).then([] { return make_ready_future(json_void()); });