diff --git a/db/batchlog_manager.cc b/db/batchlog_manager.cc index 62dd531e32..c2377cfd00 100644 --- a/db/batchlog_manager.cc +++ b/db/batchlog_manager.cc @@ -122,9 +122,10 @@ mutation get_batchlog_delete_mutation(schema_ptr schema, int32_t version, db_clo const std::chrono::seconds db::batchlog_manager::replay_interval; const uint32_t db::batchlog_manager::page_size; -db::batchlog_manager::batchlog_manager(cql3::query_processor& qp, db::system_keyspace& sys_ks, batchlog_manager_config config) +db::batchlog_manager::batchlog_manager(cql3::query_processor& qp, db::system_keyspace& sys_ks, gms::feature_service& fs, batchlog_manager_config config) : _qp(qp) , _sys_ks(sys_ks) + , _fs(fs) , _replay_timeout(config.replay_timeout) , _replay_rate(config.replay_rate) , _delay(config.delay) diff --git a/db/batchlog_manager.hh b/db/batchlog_manager.hh index 9be42cdaf1..0aef236b99 100644 --- a/db/batchlog_manager.hh +++ b/db/batchlog_manager.hh @@ -27,6 +27,12 @@ class query_processor; } // namespace cql3 +namespace gms { + +class feature_service; + +} // namespace gms + namespace db { class system_keyspace; @@ -64,6 +70,7 @@ private: cql3::query_processor& _qp; db::system_keyspace& _sys_ks; + gms::feature_service& _fs; db_clock::duration _replay_timeout; uint64_t _replay_rate; std::chrono::milliseconds _delay; @@ -89,7 +96,7 @@ public: // Takes a QP, not a distributes. Because this object is supposed // to be per shard and does no dispatching beyond delegating the the // shard qp (which is what you feed here). - batchlog_manager(cql3::query_processor&, db::system_keyspace& sys_ks, batchlog_manager_config config); + batchlog_manager(cql3::query_processor&, db::system_keyspace& sys_ks, gms::feature_service& fs, batchlog_manager_config config); // abort the replay loop and return its future. future<> drain(); diff --git a/main.cc b/main.cc index cd11c2623a..f8da4bce10 100644 --- a/main.cc +++ b/main.cc @@ -2415,7 +2415,7 @@ To start the scylla server proper, simply invoke as: scylla server (or just scyl bm_cfg.delay = std::chrono::milliseconds(cfg->ring_delay_ms()); bm_cfg.replay_cleanup_after_replays = cfg->batchlog_replay_cleanup_after_replays(); - bm.start(std::ref(qp), std::ref(sys_ks), bm_cfg).get(); + bm.start(std::ref(qp), std::ref(sys_ks), std::ref(feature_service), bm_cfg).get(); auto stop_batchlog_manager = defer_verbose_shutdown("batchlog manager", [&bm] { bm.stop().get(); }); diff --git a/test/lib/cql_test_env.cc b/test/lib/cql_test_env.cc index d6ac67e34f..c6d999e1df 100644 --- a/test/lib/cql_test_env.cc +++ b/test/lib/cql_test_env.cc @@ -1178,7 +1178,7 @@ private: bmcfg.replay_timeout = cfg_in.batchlog_replay_timeout.value_or(2s); bmcfg.delay = cfg_in.batchlog_delay; bmcfg.replay_cleanup_after_replays = cfg->batchlog_replay_cleanup_after_replays(); - _batchlog_manager.start(std::ref(_qp), std::ref(_sys_ks), bmcfg).get(); + _batchlog_manager.start(std::ref(_qp), std::ref(_sys_ks), std::ref(_feature_service), bmcfg).get(); auto stop_bm = defer_verbose_shutdown("batchlog manager", [this] { _batchlog_manager.stop().get(); });