summaryrefslogtreecommitdiff
path: root/deps/rabbit/src/rabbit_core_ff.erl
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbit/src/rabbit_core_ff.erl')
-rw-r--r--deps/rabbit/src/rabbit_core_ff.erl15
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()}),