@@ -312,26 +312,32 @@ void MtmReleaseLocks(void)
312312 */
313313void MtmLock (LWLockMode mode )
314314{
315- timestamp_t start , stop ;
316315 if (!MtmAtExitHookRegistered ) {
317316 atexit (MtmReleaseLocks );
318317 MtmAtExitHookRegistered = true;
319318 }
320319 if (MtmLockCount != 0 ) {
321320 Assert (Mtm -> lastLockHolder == MyProcPid );
322321 MtmLockCount += 1 ;
323- return ;
324322 }
325- start = MtmGetSystemTime ();
326- LWLockAcquire ((LWLockId )& Mtm -> locks [MTM_STATE_LOCK_ID ], mode );
327- stop = MtmGetSystemTime ();
328- if (stop > start + MSEC_TO_USEC (MtmHeartbeatSendTimeout )) {
329- MTM_LOG1 ("%d: obtaining %s lock takes %lld microseconds" , MyProcPid , (mode == LW_EXCLUSIVE ? "exclusive" : "shared" ), stop - start );
330- }
331- if (mode == LW_EXCLUSIVE ) {
332- Assert (MtmLockCount == 0 );
333- Mtm -> lastLockHolder = MyProcPid ;
334- MtmLockCount = 1 ;
323+ else
324+ {
325+ #if DEBUG_LEVEL > 1
326+ timestamp_t start , stop ;
327+ start = MtmGetSystemTime ();
328+ #endif
329+ LWLockAcquire ((LWLockId )& Mtm -> locks [MTM_STATE_LOCK_ID ], mode );
330+ #if DEBUG_LEVEL > 1
331+ stop = MtmGetSystemTime ();
332+ if (stop > start + MSEC_TO_USEC (MtmHeartbeatSendTimeout )) {
333+ MTM_LOG1 ("%d: obtaining %s lock takes %lld microseconds" , MyProcPid , (mode == LW_EXCLUSIVE ? "exclusive" : "shared" ), stop - start );
334+ }
335+ #endif
336+ if (mode == LW_EXCLUSIVE ) {
337+ Assert (MtmLockCount == 0 );
338+ Mtm -> lastLockHolder = MyProcPid ;
339+ MtmLockCount = 1 ;
340+ }
335341 }
336342}
337343
@@ -527,9 +533,12 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
527533 static timestamp_t totalSleepTime ;
528534 static timestamp_t maxSleepTime ;
529535#endif
530- timestamp_t start = MtmGetSystemTime ();
531536 timestamp_t delay = MIN_WAIT_TIMEOUT ;
532537 int i ;
538+ #if DEBUG_LEVEL > 1
539+ timestamp_t start = MtmGetSystemTime ();
540+ #endif
541+
533542 Assert (xid != InvalidTransactionId );
534543
535544 if (!MtmUseDtm ) {
@@ -551,9 +560,11 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
551560 if (ts -> csn > MtmTx .snapshot ) {
552561 MTM_LOG4 ("%d: tuple with xid=%lld(csn=%lld) is invisible in snapshot %lld" ,
553562 MyProcPid , (long64 )xid , ts -> csn , MtmTx .snapshot );
563+ #if DEBUG_LEVEL > 1
554564 if (MtmGetSystemTime () - start > USECS_PER_SEC ) {
555565 MTM_ELOG (WARNING , "Backend %d waits for transaction %s (%llu) status %lld usecs" , MyProcPid , ts -> gid , (long64 )xid , MtmGetSystemTime () - start );
556566 }
567+ #endif
557568 MtmUnlock ();
558569 return true;
559570 }
@@ -593,10 +604,12 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
593604 MTM_LOG4 ("%d: tuple with xid=%lld(csn= %lld) is %s in snapshot %lld" ,
594605 MyProcPid , (long64 )xid , ts -> csn , invisible ? "rollbacked" : "committed" , MtmTx .snapshot );
595606 MtmUnlock ();
607+ #if DEBUG_LEVEL > 1
596608 if (MtmGetSystemTime () - start > USECS_PER_SEC ) {
597609 MTM_ELOG (WARNING , "Backend %d waits for %s transaction %s (%llu) %lld usecs" , MyProcPid , invisible ? "rollbacked" : "committed" ,
598610 ts -> gid , (long64 )xid , MtmGetSystemTime () - start );
599611 }
612+ #endif
600613 return invisible ;
601614 }
602615 }
@@ -608,7 +621,11 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
608621 }
609622 }
610623 MtmUnlock ();
624+ #if DEBUG_LEVEL > 1
611625 MTM_ELOG (ERROR , "Failed to get status of XID %llu in %lld usec" , (long64 )xid , MtmGetSystemTime () - start );
626+ #else
627+ MTM_ELOG (ERROR , "Failed to get status of XID %llu" , (long64 )xid );
628+ #endif
612629 return true;
613630}
614631
@@ -3815,6 +3832,7 @@ bool MtmFilterTransaction(char* record, int size)
38153832 switch (event )
38163833 {
38173834 case PGLOGICAL_PREPARE :
3835+ return false;
38183836 case PGLOGICAL_PRECOMMIT_PREPARED :
38193837 case PGLOGICAL_ABORT_PREPARED :
38203838 gid = pq_getmsgstring (& s );
0 commit comments