@@ -1183,7 +1183,8 @@ void MtmPrecommitTransaction(char const* gid)
1183
1183
ts -> status = TRANSACTION_STATUS_UNKNOWN ;
1184
1184
ts -> csn = MtmAssignCSN ();
1185
1185
MtmAdjustSubtransactions (ts );
1186
- MtmSend2PCMessage (ts , MSG_PRECOMMITTED );
1186
+ if (Mtm -> status != MTM_RECOVERY ) // XXXX why?
1187
+ MtmSend2PCMessage (ts , MSG_PRECOMMITTED );
1187
1188
MtmUnlock ();
1188
1189
Assert (replorigin_session_origin != InvalidRepOriginId );
1189
1190
if (!IsTransactionState ()) {
@@ -1627,10 +1628,13 @@ void MtmSend2PCMessage(MtmTransState* ts, MtmMessageCode cmd)
1627
1628
memcpy (msg .gid , ts -> gid , MULTIMASTER_MAX_GID_SIZE );
1628
1629
1629
1630
Assert (!MtmIsCoordinator (ts )); /* All broadcasts are now done through logical decoding */
1630
- MTM_TXTRACE (ts , "MtmSend2PCMessage sending %s message to node %d" , MtmMessageKindMnem [cmd ], ts -> gtid .node );
1631
- msg .node = ts -> gtid .node ;
1632
- msg .dxid = ts -> gtid .xid ;
1633
- MtmSendMessage (& msg );
1631
+ if (!BIT_CHECK (Mtm -> disabledNodeMask , ts -> gtid .node - 1 ))
1632
+ {
1633
+ MTM_TXTRACE (ts , "MtmSend2PCMessage sending %s message to node %d" , MtmMessageKindMnem [cmd ], ts -> gtid .node );
1634
+ msg .node = ts -> gtid .node ;
1635
+ msg .dxid = ts -> gtid .xid ;
1636
+ MtmSendMessage (& msg );
1637
+ }
1634
1638
}
1635
1639
1636
1640
/*
@@ -1741,11 +1745,6 @@ void MtmJoinTransaction(GlobalTransactionId* gtid, csn_t globalSnapshot, nodemas
1741
1745
if (globalSnapshot != INVALID_CSN ) {
1742
1746
MtmLock (LW_EXCLUSIVE );
1743
1747
1744
- if (BIT_CHECK (Mtm -> disabledNodeMask , gtid -> node - 1 )) {
1745
- MtmUnlock ();
1746
- MTM_ELOG (ERROR , "Ignore transaction %llu from disabled node %d" , (long64 )gtid -> xid , gtid -> node );
1747
- }
1748
-
1749
1748
liveMask = (((nodemask_t )1 << Mtm -> nAllNodes ) - 1 ) & ~Mtm -> disabledNodeMask ;
1750
1749
BIT_SET (participantsMask , gtid -> node - 1 );
1751
1750
if (liveMask & ~participantsMask ) {
0 commit comments