@@ -312,26 +312,32 @@ void MtmReleaseLocks(void)
312
312
*/
313
313
void MtmLock (LWLockMode mode )
314
314
{
315
- timestamp_t start , stop ;
316
315
if (!MtmAtExitHookRegistered ) {
317
316
atexit (MtmReleaseLocks );
318
317
MtmAtExitHookRegistered = true;
319
318
}
320
319
if (MtmLockCount != 0 ) {
321
320
Assert (Mtm -> lastLockHolder == MyProcPid );
322
321
MtmLockCount += 1 ;
323
- return ;
324
322
}
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
+ }
335
341
}
336
342
}
337
343
@@ -527,9 +533,12 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
527
533
static timestamp_t totalSleepTime ;
528
534
static timestamp_t maxSleepTime ;
529
535
#endif
530
- timestamp_t start = MtmGetSystemTime ();
531
536
timestamp_t delay = MIN_WAIT_TIMEOUT ;
532
537
int i ;
538
+ #if DEBUG_LEVEL > 1
539
+ timestamp_t start = MtmGetSystemTime ();
540
+ #endif
541
+
533
542
Assert (xid != InvalidTransactionId );
534
543
535
544
if (!MtmUseDtm ) {
@@ -551,9 +560,11 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
551
560
if (ts -> csn > MtmTx .snapshot ) {
552
561
MTM_LOG4 ("%d: tuple with xid=%lld(csn=%lld) is invisible in snapshot %lld" ,
553
562
MyProcPid , (long64 )xid , ts -> csn , MtmTx .snapshot );
563
+ #if DEBUG_LEVEL > 1
554
564
if (MtmGetSystemTime () - start > USECS_PER_SEC ) {
555
565
MTM_ELOG (WARNING , "Backend %d waits for transaction %s (%llu) status %lld usecs" , MyProcPid , ts -> gid , (long64 )xid , MtmGetSystemTime () - start );
556
566
}
567
+ #endif
557
568
MtmUnlock ();
558
569
return true;
559
570
}
@@ -593,10 +604,12 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
593
604
MTM_LOG4 ("%d: tuple with xid=%lld(csn= %lld) is %s in snapshot %lld" ,
594
605
MyProcPid , (long64 )xid , ts -> csn , invisible ? "rollbacked" : "committed" , MtmTx .snapshot );
595
606
MtmUnlock ();
607
+ #if DEBUG_LEVEL > 1
596
608
if (MtmGetSystemTime () - start > USECS_PER_SEC ) {
597
609
MTM_ELOG (WARNING , "Backend %d waits for %s transaction %s (%llu) %lld usecs" , MyProcPid , invisible ? "rollbacked" : "committed" ,
598
610
ts -> gid , (long64 )xid , MtmGetSystemTime () - start );
599
611
}
612
+ #endif
600
613
return invisible ;
601
614
}
602
615
}
@@ -608,7 +621,11 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
608
621
}
609
622
}
610
623
MtmUnlock ();
624
+ #if DEBUG_LEVEL > 1
611
625
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
612
629
return true;
613
630
}
614
631
@@ -3815,6 +3832,7 @@ bool MtmFilterTransaction(char* record, int size)
3815
3832
switch (event )
3816
3833
{
3817
3834
case PGLOGICAL_PREPARE :
3835
+ return false;
3818
3836
case PGLOGICAL_PRECOMMIT_PREPARED :
3819
3837
case PGLOGICAL_ABORT_PREPARED :
3820
3838
gid = pq_getmsgstring (& s );
0 commit comments