@@ -1128,12 +1128,12 @@ MtmPrePrepareTransaction(MtmCurrentTrans* x)
1128
1128
/*
1129
1129
* Invalid CSN prevent replication of transaction by logical replication
1130
1130
*/
1131
- ts -> isLocal = x -> isReplicated || !x -> containsDML ;
1132
1131
ts -> snapshot = x -> snapshot ;
1133
1132
ts -> csn = MtmAssignCSN ();
1134
1133
ts -> procno = MyProc -> pgprocno ;
1135
1134
ts -> votingCompleted = false;
1136
1135
ts -> participantsMask = (((nodemask_t )1 << Mtm -> nAllNodes ) - 1 ) & ~Mtm -> disabledNodeMask & ~((nodemask_t )1 << (MtmNodeId - 1 ));
1136
+ ts -> isLocal = x -> isReplicated || !x -> containsDML || (ts -> participantsMask == 0 );
1137
1137
ts -> nConfigChanges = Mtm -> nConfigChanges ;
1138
1138
ts -> votedMask = 0 ;
1139
1139
ts -> nSubxids = xactGetCommittedChildren (& subxids );
@@ -1384,6 +1384,7 @@ MtmPostPrepareTransaction(MtmCurrentTrans* x)
1384
1384
if (!ts -> isLocal ) {
1385
1385
Mtm2PCVoting (x , ts );
1386
1386
} else {
1387
+ ts -> status = TRANSACTION_STATUS_UNKNOWN ;
1387
1388
ts -> votingCompleted = true;
1388
1389
}
1389
1390
if (x -> isTwoPhase ) {
@@ -2373,8 +2374,8 @@ static void MtmInitialize()
2373
2374
Mtm -> oldestXid = FirstNormalTransactionId ;
2374
2375
Mtm -> nLiveNodes = 0 ; //MtmNodes;
2375
2376
Mtm -> nAllNodes = MtmNodes ;
2376
- Mtm -> disabledNodeMask = 7 ; //XXXX
2377
- Mtm -> clique = 7 ; // XXXX ! should be inverted !
2377
+ Mtm -> disabledNodeMask = ((( nodemask_t ) 1 << MtmNodes ) - 1 );
2378
+ Mtm -> clique = 0 ;
2378
2379
Mtm -> stalledNodeMask = 0 ;
2379
2380
Mtm -> stoppedNodeMask = 0 ;
2380
2381
Mtm -> deadNodeMask = 0 ;
0 commit comments