From ac5ff4994a8056bca0431f3ffd22db313e701fb8 Mon Sep 17 00:00:00 2001 From: Tomasz Grabiec Date: Mon, 26 Aug 2019 15:21:24 +0200 Subject: [PATCH] service: Announce the new schema version when features are enabled Introduced in c96ee98. We call update_schema_version() after features are enabled and we recalculate the schema version. This method is not updating gossip though. The node will still use it's database::version() to decide on syncing, so it will not sync and stay inconsistent in gossip until the next schema change. We should call updatE_schema_version_and_announce() instead so that the gossip state is also updated. There is no actual schema inconsistency, but the joining node will think there is and will wait indefinitely. Making a random schema change would unbock it. Fixes #4647. Message-Id: <1566825684-18000-1-git-send-email-tgrabiec@scylladb.com> --- service/migration_manager.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/migration_manager.cc b/service/migration_manager.cc index 56991aad5c..83980210b9 100644 --- a/service/migration_manager.cc +++ b/service/migration_manager.cc @@ -86,7 +86,7 @@ void migration_manager::init_messaging_service() auto update_schema = [this, &ss] { with_gate(_background_tasks, [this, &ss] { mlogger.debug("features changed, recalculating schema version"); - return update_schema_version(get_storage_proxy(), ss.cluster_schema_features()); + return update_schema_version_and_announce(get_storage_proxy(), ss.cluster_schema_features()); }); };