From d09787d1a63c4d85b979cec90b5e16b3029788e7 Mon Sep 17 00:00:00 2001 From: ieQu1 <99872536+ieQu1@users.noreply.github.com> Date: Fri, 5 Apr 2024 13:33:12 +0200 Subject: [PATCH] fix(ds): Fix return types in replication_layer_meta --- .../src/emqx_ds_replication_layer_meta.erl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/emqx_durable_storage/src/emqx_ds_replication_layer_meta.erl b/apps/emqx_durable_storage/src/emqx_ds_replication_layer_meta.erl index b81b21d61..2fdd1c39d 100644 --- a/apps/emqx_durable_storage/src/emqx_ds_replication_layer_meta.erl +++ b/apps/emqx_durable_storage/src/emqx_ds_replication_layer_meta.erl @@ -72,7 +72,7 @@ n_shards/1 ]). --export_type([site/0]). +-export_type([site/0, update_cluster_result/0]). -include_lib("stdlib/include/qlc.hrl"). -include_lib("stdlib/include/ms_transform.hrl"). @@ -118,6 +118,12 @@ %% Membership transition of shard's replica set: -type transition() :: {add | del, site()}. +-type update_cluster_result() :: + ok + | {error, {nonexistent_db, emqx_ds:db()}} + | {error, {nonexistent_sites, [site()]}} + | {error, _}. + %% Peristent term key: -define(emqx_ds_builtin_site, emqx_ds_builtin_site). @@ -243,20 +249,17 @@ drop_db(DB) -> %%=============================================================================== %% @doc Join a site to the set of sites the DB is replicated across. --spec join_db_site(emqx_ds:db(), site()) -> - ok | {error, nonexistent_db | nonexistent_sites}. +-spec join_db_site(emqx_ds:db(), site()) -> update_cluster_result(). join_db_site(DB, Site) -> transaction(fun ?MODULE:modify_db_sites_trans/2, [DB, [{add, Site}]]). %% @doc Make a site leave the set of sites the DB is replicated across. --spec leave_db_site(emqx_ds:db(), site()) -> - ok | {error, nonexistent_db | nonexistent_sites}. +-spec leave_db_site(emqx_ds:db(), site()) -> update_cluster_result(). leave_db_site(DB, Site) -> transaction(fun ?MODULE:modify_db_sites_trans/2, [DB, [{del, Site}]]). %% @doc Assign a set of sites to the DB for replication. --spec assign_db_sites(emqx_ds:db(), [site()]) -> - ok | {error, nonexistent_db | nonexistent_sites}. +-spec assign_db_sites(emqx_ds:db(), [site()]) -> update_cluster_result(). assign_db_sites(DB, Sites) -> transaction(fun ?MODULE:assign_db_sites_trans/2, [DB, Sites]).