diff --git a/main.cc b/main.cc index 1b919f69cc..53ded54de8 100644 --- a/main.cc +++ b/main.cc @@ -62,6 +62,7 @@ #include "service/cache_hitrate_calculator.hh" #include "sstables/compaction_manager.hh" #include "sstables/sstables.hh" +#include seastar::metrics::metric_groups app_metrics; @@ -755,6 +756,13 @@ int main(int ac, char** av) { local_proxy.allow_replaying_hints(); }).get(); + static sharded view_update_from_staging_generator; + if (cfg->view_building()) { + supervisor::notify("Launching generate_mv_updates for non system tables"); + view_update_from_staging_generator.start(std::ref(db), std::ref(proxy)).get(); + view_update_from_staging_generator.invoke_on_all(&db::view::view_update_from_staging_generator::start).get(); + } + static sharded view_builder; if (cfg->view_building()) { supervisor::notify("starting the view builder"); @@ -800,6 +808,10 @@ int main(int ac, char** av) { return view_builder.stop(); }); + engine().at_exit([] { + return view_update_from_staging_generator.stop(); + }); + engine().at_exit([&db] { return db.invoke_on_all([](auto& db) { return db.get_compaction_manager().stop();