@@ -511,7 +511,7 @@ MtmXactCallback(XactEvent event, void *arg)
511511static bool
512512MtmIsUserTransaction ()
513513{
514- return IsNormalProcessingMode ()&& MtmDoReplication && !am_walsender && !IsBackgroundWorker && !IsAutoVacuumWorkerProcess ();
514+ return ! IsAutoVacuumLauncherProcess () && IsNormalProcessingMode ()&& MtmDoReplication && !am_walsender && !IsBackgroundWorker && !IsAutoVacuumWorkerProcess ();
515515}
516516
517517static void
@@ -525,6 +525,7 @@ MtmBeginTransaction(MtmCurrentTrans* x)
525525if (x -> isDistributed && dtm -> status != MTM_ONLINE ) {
526526/* reject all user's transactions at offline cluster */
527527MtmUnlock ();
528+ Assert (dtm -> status == MTM_ONLINE );
528529elog (ERROR ,"Multimaster node is not online: current status %s" ,MtmNodeStatusMnem [dtm -> status ]);
529530}
530531x -> containsDML = false;
@@ -1765,7 +1766,7 @@ MtmDetectGlobalDeadLock(PGPROC* proc)
17651766int size ;
17661767void * data = PaxosGet (psprintf ("lock-graph-%d" ,i + 1 ),& size ,NULL , true);
17671768if (data == NULL ) {
1768- hasDeadlock = true;/* Just temporary hack until no Paxos */
1769+ return true;/* Just temporary hack until no Paxos */
17691770}else {
17701771MtmGraphAdd (& graph , (GlobalTransactionId * )data ,size /sizeof (GlobalTransactionId ));
17711772}