fix(dsrepl): properly handle transaction abort during forget site

This commit is contained in:
Andrew Mayorov 2024-05-22 17:22:55 +02:00
parent a3cd3e31b1
commit c355c9ad50
No known key found for this signature in database
GPG Key ID: 2837C62ACFBFED5D
1 changed files with 5 additions and 5 deletions

View File

@ -694,12 +694,12 @@ ensure_site() ->
forget_node(Node) ->
Sites = node_sites(Node),
Results = transaction(fun lists:map/2, [fun ?MODULE:forget_site_trans/1, Sites]),
case [Reason || {error, Reason} <- Results] of
[] ->
Result = transaction(fun lists:map/2, [fun ?MODULE:forget_site_trans/1, Sites]),
case Result of
Ok when is_list(Ok) ->
ok;
Errors ->
logger:error("Failed to forget leaving node ~p: ~p", [Node, Errors])
{error, Reason} ->
logger:error("Failed to forget leaving node ~p: ~p", [Node, Reason])
end.
%% @doc Returns sorted list of sites shards are replicated across.