Skip to content

Commit cab8515

Browse files
committed
Use DoNotReplicateId to avoid replication of local commits/aborts
1 parent 01e7631 commit cab8515

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

contrib/mmts/multimaster.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,6 +2081,7 @@ static void MtmInitialize()
20812081
Mtm->nodes[i].originId = InvalidRepOriginId;
20822082
Mtm->nodes[i].timeline = 0;
20832083
}
2084+
Mtm->nodes[MtmNodeId-1].originId = DoNotReplicateId;
20842085
PGSemaphoreCreate(&Mtm->sendSemaphore);
20852086
PGSemaphoreReset(&Mtm->sendSemaphore);
20862087
SpinLockInit(&Mtm->spinlock);
@@ -2805,10 +2806,12 @@ void MtmFinishPreparedTransaction(MtmTransState* ts, bool commit)
28052806
Assert(!IsTransactionState());
28062807
MtmResetTransaction();
28072808
StartTransactionCommand();
2809+
#if 0
28082810
if (Mtm->nodes[MtmNodeId-1].originId == InvalidRepOriginId) {
28092811
/* This dummy origin is used for local commits/aborts which should not be replicated */
28102812
Mtm->nodes[MtmNodeId-1].originId = replorigin_create(psprintf(MULTIMASTER_SLOT_PATTERN, MtmNodeId));
28112813
}
2814+
#endif
28122815
MtmBeginSession(MtmNodeId);
28132816
MtmSetCurrentTransactionCSN(ts->csn);
28142817
MtmSetCurrentTransactionGID(ts->gid);

src/backend/access/transam/twophase.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,10 +1067,10 @@ EndPrepare(GlobalTransaction gxact)
10671067
START_CRIT_SECTION();
10681068
xl_xinfo.xinfo = 0;
10691069
/* dump transaction origin information */
1070-
if (replorigin_session_origin != InvalidRepOriginId)
1070+
if (replorigin)
10711071
{
10721072
xl_xinfo.xinfo |= XACT_XINFO_HAS_ORIGIN;
1073-
Assert(replorigin_session_origin_lsn != 0);
1073+
Assert(replorigin_session_origin_lsn != InvalidXLogRecPtr);
10741074
xl_origin.origin_lsn = replorigin_session_origin_lsn;
10751075
xl_origin.origin_timestamp = replorigin_session_origin_timestamp;
10761076
}

0 commit comments

Comments
 (0)