Skip to content

Commit 88afc71

Browse files
committed
Improve TXTRACE logs
1 parent 86bc8dd commit 88afc71

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

contrib/mmts/multimaster.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,6 +1413,8 @@ MtmPreCommitPreparedTransaction(MtmCurrentTrans* x)
14131413
MtmTransMap* tm;
14141414
MtmTransState* ts;
14151415

1416+
MTM_TXTRACE(x, "MtmPreCommitPreparedTransaction Start");
1417+
14161418
if (Mtm->status == MTM_RECOVERY || x->isReplicated || x->isPrepared) { /* Ignore auto-2PC originated by multimaster */
14171419
return;
14181420
}
@@ -1446,12 +1448,17 @@ MtmPreCommitPreparedTransaction(MtmCurrentTrans* x)
14461448
x->isPrepared = true;
14471449
}
14481450
MtmUnlock();
1451+
1452+
MTM_TXTRACE(x, "MtmPreCommitPreparedTransaction Finish");
14491453
}
14501454

14511455
static void
14521456
MtmAbortPreparedTransaction(MtmCurrentTrans* x)
14531457
{
14541458
MtmTransMap* tm;
1459+
1460+
MTM_TXTRACE(x, "MtmAbortPreparedTransaction Start");
1461+
14551462
if (x->status != TRANSACTION_STATUS_ABORTED) {
14561463
MtmLock(LW_EXCLUSIVE);
14571464
tm = (MtmTransMap*)hash_search(MtmGid2State, x->gid, HASH_FIND, NULL);
@@ -1471,6 +1478,8 @@ MtmAbortPreparedTransaction(MtmCurrentTrans* x)
14711478
} else {
14721479
MTM_LOG1("Transaction %s (%llu) is already aborted", x->gid, (long64)x->xid);
14731480
}
1481+
1482+
MTM_TXTRACE(x, "MtmAbortPreparedTransaction Finish");
14741483
}
14751484

14761485
static void
@@ -1494,6 +1503,8 @@ MtmEndTransaction(MtmCurrentTrans* x, bool commit)
14941503
MyProcPid, (long64)x->xid, x->isPrepared, x->isReplicated, x->isDistributed, x->isTwoPhase, x->gid, commit ? "commit" : "abort", (long64)GetXLogInsertRecPtr());
14951504
commit &= (x->status != TRANSACTION_STATUS_ABORTED);
14961505

1506+
MTM_TXTRACE(x, "MtmEndTransaction Start (c=%d)", commit);
1507+
14971508
MtmLock(LW_EXCLUSIVE);
14981509

14991510
MtmStopTransaction();
@@ -1590,6 +1601,8 @@ MtmEndTransaction(MtmCurrentTrans* x, bool commit)
15901601
}
15911602
MtmUnlock();
15921603

1604+
MTM_TXTRACE(x, "MtmEndTransaction Finish");
1605+
15931606
MtmResetTransaction();
15941607
if (MtmClusterLocked) {
15951608
MtmUnlockCluster();
@@ -4541,6 +4554,8 @@ MtmGenerateGid(char* gid)
45414554
*/
45424555
static bool MtmTwoPhaseCommit(MtmCurrentTrans* x)
45434556
{
4557+
MTM_TXTRACE(x, "MtmTwoPhaseCommit Start");
4558+
45444559
if (!x->isReplicated && x->isDistributed && x->containsDML) {
45454560
MtmGenerateGid(x->gid);
45464561
if (!x->isTransactionBlock) {
@@ -4568,6 +4583,7 @@ static bool MtmTwoPhaseCommit(MtmCurrentTrans* x)
45684583
MTM_ELOG(ERROR, "Transaction %s (%llu) is aborted on node %d. Check its log to see error details.", x->gid, (long64)x->xid, ts->abortedByNode);
45694584
} else {
45704585
FinishPreparedTransaction(x->gid, true);
4586+
MTM_TXTRACE(x, "MtmTwoPhaseCommit Committed");
45714587
MTM_LOG2("Distributed transaction %s (%lld) is committed at %lld with LSN=%lld", x->gid, (long64)x->xid, MtmGetCurrentTime(), (long64)GetXLogInsertRecPtr());
45724588
}
45734589
}

0 commit comments

Comments
 (0)