From e97acf4e30d46e4676ff545e367f3791e18be477 Mon Sep 17 00:00:00 2001 From: Tomasz Grabiec Date: Tue, 28 May 2024 09:43:00 +0200 Subject: [PATCH] repair_service: Propagate topology_state_machine to repair_service --- main.cc | 2 +- repair/row_level.cc | 6 ++++-- repair/row_level.hh | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/main.cc b/main.cc index 816615f24c..1f1214a53b 100644 --- a/main.cc +++ b/main.cc @@ -1632,7 +1632,7 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl // both) supervisor::notify("starting repair service"); auto max_memory_repair = memory::stats().total_memory() * 0.1; - repair.start(std::ref(gossiper), std::ref(messaging), std::ref(db), std::ref(proxy), std::ref(raft_address_map), std::ref(bm), std::ref(sys_ks), std::ref(view_builder), std::ref(task_manager), std::ref(mm), max_memory_repair).get(); + repair.start(std::ref(tsm), std::ref(gossiper), std::ref(messaging), std::ref(db), std::ref(proxy), std::ref(raft_address_map), std::ref(bm), std::ref(sys_ks), std::ref(view_builder), std::ref(task_manager), std::ref(mm), max_memory_repair).get(); auto stop_repair_service = defer_verbose_shutdown("repair service", [&repair] { repair.stop().get(); }); diff --git a/repair/row_level.cc b/repair/row_level.cc index 0c7bdb06fe..4b383d3441 100644 --- a/repair/row_level.cc +++ b/repair/row_level.cc @@ -3170,7 +3170,8 @@ public: } }; -repair_service::repair_service(distributed& gossiper, +repair_service::repair_service(sharded& tsm, + distributed& gossiper, netw::messaging_service& ms, sharded& db, sharded& sp, @@ -3181,7 +3182,8 @@ repair_service::repair_service(distributed& gossiper, tasks::task_manager& tm, service::migration_manager& mm, size_t max_repair_memory) - : _gossiper(gossiper) + : _tsm(tsm) + , _gossiper(gossiper) , _messaging(ms) , _db(db) , _sp(sp) diff --git a/repair/row_level.hh b/repair/row_level.hh index 42f6f22d82..e484e08ce9 100644 --- a/repair/row_level.hh +++ b/repair/row_level.hh @@ -86,6 +86,7 @@ public: using host2ip_t = std::function (locator::host_id)>; class repair_service : public seastar::peering_sharded_service { + sharded& _tsm; distributed& _gossiper; netw::messaging_service& _messaging; sharded& _db; @@ -115,7 +116,8 @@ class repair_service : public seastar::peering_sharded_service { future<> uninit_ms_handlers(); public: - repair_service(distributed& gossiper, + repair_service(sharded& tsm, + distributed& gossiper, netw::messaging_service& ms, sharded& db, sharded& sp,