File 0893-Support-sync_asym_trans-in-recover_coordinator.patch of Package erlang
From 92438bcf858e7bf6be1fc9518023380406060a72 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 12 Nov 2019 09:55:41 +0100
Subject: [PATCH] Support sync_asym_trans in recover_coordinator
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I missed that when I implemented sync_asym_trans protocol.
See ERL-1077, thanks Sebastian SmyczyĆski.
---
lib/mnesia/src/mnesia_tm.erl | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/mnesia/src/mnesia_tm.erl b/lib/mnesia/src/mnesia_tm.erl
index 8a4113422a..18520423ba 100644
--- a/lib/mnesia/src/mnesia_tm.erl
+++ b/lib/mnesia/src/mnesia_tm.erl
@@ -622,12 +622,14 @@ recover_coordinator(Tid, sync_sym_trans, committed, Local, _, _) ->
recover_coordinator(Tid, sync_sym_trans, aborted, _Local, _, _) ->
mnesia_recover:note_decision(Tid, aborted);
-recover_coordinator(Tid, asym_trans, committed, Local, DiscNs, RamNs) ->
+recover_coordinator(Tid, Protocol, committed, Local, DiscNs, RamNs)
+ when Protocol =:= asym_trans; Protocol =:= sync_asym_trans ->
D = #decision{tid = Tid, outcome = committed,
disc_nodes = DiscNs, ram_nodes = RamNs},
mnesia_recover:log_decision(D),
do_commit(Tid, Local);
-recover_coordinator(Tid, asym_trans, aborted, Local, DiscNs, RamNs) ->
+recover_coordinator(Tid, Protocol, aborted, Local, DiscNs, RamNs)
+ when Protocol =:= asym_trans; Protocol =:= sync_asym_trans ->
D = #decision{tid = Tid, outcome = aborted,
disc_nodes = DiscNs, ram_nodes = RamNs},
mnesia_recover:log_decision(D),
--
2.16.4