Don't catch exit:{aborted, _} inside mnesia transactions

This is used by mnesia internally to retry deadlocked transaction,
so we should allow it to propagate.

This could be triggered by calling create_node concurrently from
multiple processes and did lead to {cyclic, ...} errors.
This commit is contained in:
Pawel Chmielowski
2025-10-22 14:59:39 +02:00
parent 357988b662
commit ca05bbd652
+2
View File
@@ -3920,6 +3920,8 @@ do_transaction(ServerHost, Fun, Trans, DBType) ->
F = fun() ->
try Fun()
catch
exit:{aborted, _} = Err when DBType == mnesia ->
exit(Err);
Class:Reason:StackTrace when (DBType == mnesia andalso
Trans == transaction) orelse
DBType == sql ->