fix(dsrepl): properly handle transaction abort during forget site
This commit is contained in:
parent
a3cd3e31b1
commit
c355c9ad50
|
@ -694,12 +694,12 @@ ensure_site() ->
|
||||||
|
|
||||||
forget_node(Node) ->
|
forget_node(Node) ->
|
||||||
Sites = node_sites(Node),
|
Sites = node_sites(Node),
|
||||||
Results = transaction(fun lists:map/2, [fun ?MODULE:forget_site_trans/1, Sites]),
|
Result = transaction(fun lists:map/2, [fun ?MODULE:forget_site_trans/1, Sites]),
|
||||||
case [Reason || {error, Reason} <- Results] of
|
case Result of
|
||||||
[] ->
|
Ok when is_list(Ok) ->
|
||||||
ok;
|
ok;
|
||||||
Errors ->
|
{error, Reason} ->
|
||||||
logger:error("Failed to forget leaving node ~p: ~p", [Node, Errors])
|
logger:error("Failed to forget leaving node ~p: ~p", [Node, Reason])
|
||||||
end.
|
end.
|
||||||
|
|
||||||
%% @doc Returns sorted list of sites shards are replicated across.
|
%% @doc Returns sorted list of sites shards are replicated across.
|
||||||
|
|
Loading…
Reference in New Issue