diff options
Diffstat (limited to 'deps/rabbit/src/rabbit_core_ff.erl')
-rw-r--r-- | deps/rabbit/src/rabbit_core_ff.erl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/deps/rabbit/src/rabbit_core_ff.erl b/deps/rabbit/src/rabbit_core_ff.erl index fd750b7d0f..3d00e4a398 100644 --- a/deps/rabbit/src/rabbit_core_ff.erl +++ b/deps/rabbit/src/rabbit_core_ff.erl @@ -205,8 +205,12 @@ mds_phase1_migration_post_enable(#{feature_name := FeatureName}) -> mds_migration_post_enable(FeatureName, Tables). mds_migration_enable(FeatureName, TablesAndOwners) -> - ok = ensure_khepri_cluster_matches_mnesia(FeatureName), - mds_migrate_tables_to_khepri(FeatureName, TablesAndOwners). + case ensure_khepri_cluster_matches_mnesia(FeatureName) of + ok -> + mds_migrate_tables_to_khepri(FeatureName, TablesAndOwners); + Error -> + Error + end. mds_migration_post_enable(FeatureName, TablesAndOwners) -> ?assert(rabbit_khepri:is_enabled(non_blocking)), @@ -221,7 +225,12 @@ ensure_khepri_cluster_matches_mnesia(FeatureName) -> "Feature flag `~s`: updating the Khepri cluster to match " "the Mnesia cluster", [FeatureName]), - rabbit_khepri:init_cluster(). + try + rabbit_khepri:init_cluster() + catch + error:{khepri_mnesia_migration_ex, _, _} = Reason -> + {error, Reason} + end. mds_plugin_migration_enable(FeatureName, TablesAndOwners) -> global:set_lock({FeatureName, self()}), |