@@ -511,7 +511,7 @@ MtmXactCallback(XactEvent event, void *arg)
511
511
static bool
512
512
MtmIsUserTransaction ()
513
513
{
514
- return IsNormalProcessingMode ()&& MtmDoReplication && !am_walsender && !IsBackgroundWorker && !IsAutoVacuumWorkerProcess ();
514
+ return ! IsAutoVacuumLauncherProcess () && IsNormalProcessingMode ()&& MtmDoReplication && !am_walsender && !IsBackgroundWorker && !IsAutoVacuumWorkerProcess ();
515
515
}
516
516
517
517
static void
@@ -525,6 +525,7 @@ MtmBeginTransaction(MtmCurrentTrans* x)
525
525
if (x -> isDistributed && dtm -> status != MTM_ONLINE ) {
526
526
/* reject all user's transactions at offline cluster */
527
527
MtmUnlock ();
528
+ Assert (dtm -> status == MTM_ONLINE );
528
529
elog (ERROR ,"Multimaster node is not online: current status %s" ,MtmNodeStatusMnem [dtm -> status ]);
529
530
}
530
531
x -> containsDML = false;
@@ -1765,7 +1766,7 @@ MtmDetectGlobalDeadLock(PGPROC* proc)
1765
1766
int size ;
1766
1767
void * data = PaxosGet (psprintf ("lock-graph-%d" ,i + 1 ),& size ,NULL , true);
1767
1768
if (data == NULL ) {
1768
- hasDeadlock = true;/* Just temporary hack until no Paxos */
1769
+ return true;/* Just temporary hack until no Paxos */
1769
1770
}else {
1770
1771
MtmGraphAdd (& graph , (GlobalTransactionId * )data ,size /sizeof (GlobalTransactionId ));
1771
1772
}