18
18
#include " model/fundamental.h"
19
19
#include " ssx/future-util.h"
20
20
21
+ #include < seastar/coroutine/switch_to.hh>
22
+
21
23
#include < exception>
22
24
23
25
using namespace std ::chrono_literals;
@@ -28,12 +30,14 @@ topic_reconciler::topic_reconciler(
28
30
kafka::data::rpc::topic_metadata_cache* topic_metadata_cache,
29
31
link_registry* link_registry,
30
32
ss::lowres_clock::duration run_interval,
31
- config::binding<int16_t > default_topic_replication)
33
+ config::binding<int16_t > default_topic_replication,
34
+ ss::scheduling_group scheduling_group)
32
35
: _topic_creator(topic_creator)
33
36
, _topic_metadata_cache(topic_metadata_cache)
34
37
, _link_registry(link_registry)
35
38
, _run_interval(run_interval)
36
- , _default_topic_replication(std::move(default_topic_replication)) {}
39
+ , _default_topic_replication(std::move(default_topic_replication))
40
+ , _scheduling_group(scheduling_group) {}
37
41
38
42
ss::future<> topic_reconciler::start () {
39
43
vlog (cllog.info , " Starting topic reconciler" );
@@ -79,6 +83,7 @@ void topic_reconciler::trigger(model::id_t link_id) {
79
83
}
80
84
81
85
ss::future<> topic_reconciler::execute (std::optional<model::id_t > link_id) {
86
+ co_await ss::coroutine::switch_to (_scheduling_group);
82
87
static constexpr auto max_concurrent_reconcilations = 5 ;
83
88
vlog (cllog.trace , " Executing topic reconciler, link_id: {}" , link_id);
84
89
auto units = co_await _reconciler_mutex.get_units (_as);
0 commit comments