@@ -1183,7 +1183,8 @@ void MtmPrecommitTransaction(char const* gid)
11831183 ts -> status = TRANSACTION_STATUS_UNKNOWN ;
11841184 ts -> csn = MtmAssignCSN ();
11851185 MtmAdjustSubtransactions (ts );
1186- MtmSend2PCMessage (ts , MSG_PRECOMMITTED );
1186+ if (Mtm -> status != MTM_RECOVERY ) // XXXX why?
1187+ MtmSend2PCMessage (ts , MSG_PRECOMMITTED );
11871188 MtmUnlock ();
11881189 Assert (replorigin_session_origin != InvalidRepOriginId );
11891190 if (!IsTransactionState ()) {
@@ -1627,10 +1628,13 @@ void MtmSend2PCMessage(MtmTransState* ts, MtmMessageCode cmd)
16271628 memcpy (msg .gid , ts -> gid , MULTIMASTER_MAX_GID_SIZE );
16281629
16291630 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+ }
16341638}
16351639
16361640/*
@@ -1741,11 +1745,6 @@ void MtmJoinTransaction(GlobalTransactionId* gtid, csn_t globalSnapshot, nodemas
17411745 if (globalSnapshot != INVALID_CSN ) {
17421746 MtmLock (LW_EXCLUSIVE );
17431747
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-
17491748 liveMask = (((nodemask_t )1 << Mtm -> nAllNodes ) - 1 ) & ~Mtm -> disabledNodeMask ;
17501749 BIT_SET (participantsMask , gtid -> node - 1 );
17511750 if (liveMask & ~participantsMask ) {
0 commit comments