migration_manager: add wait_for_schema_agreement() function
Several subsystems re-implement the same logic for waiting for schema agreement. Provide the function in the migration_manager and use it instead.
This commit is contained in:
@@ -1794,9 +1794,8 @@ future<> view_builder::start(service::migration_manager& mm) {
|
||||
// or `on_update_view` events.
|
||||
auto units = get_units(_sem, 1).get0();
|
||||
// Wait for schema agreement even if we're a seed node.
|
||||
while (!mm.have_schema_agreement()) {
|
||||
seastar::sleep_abortable(500ms, _as).get();
|
||||
}
|
||||
mm.wait_for_schema_agreement(_db, db::timeout_clock::time_point::max(), &_as).get();
|
||||
|
||||
auto built = _sys_ks.load_built_views().get0();
|
||||
auto in_progress = _sys_ks.load_view_build_progress().get0();
|
||||
setup_shard_build_step(vbi, std::move(built), std::move(in_progress));
|
||||
|
||||
Reference in New Issue
Block a user