@@ -484,12 +484,15 @@ process_remote_commit(StringInfo in)
484484 {
485485 case PGLOGICAL_COMMIT :
486486 {
487- if (IsTransactionState ())
487+ if (IsTransactionState ()) {
488+ Assert (TransactionIdIsValid (MtmGetCurrentTransactionId ()));
488489 CommitTransactionCommand ();
490+ }
489491 break ;
490492 }
491493 case PGLOGICAL_PREPARE :
492494 {
495+ Assert (IsTransactionState () && TransactionIdIsValid (MtmGetCurrentTransactionId ()));
493496 gid = pq_getmsgstring (in );
494497 /* prepare TBLOCK_INPROGRESS state for PrepareTransactionBlock() */
495498 BeginTransactionBlock ();
@@ -503,6 +506,7 @@ process_remote_commit(StringInfo in)
503506 }
504507 case PGLOGICAL_COMMIT_PREPARED :
505508 {
509+ Assert (!TransactionIdIsValid (MtmGetCurrentTransactionId ()));
506510 csn = pq_getmsgint64 (in );
507511 gid = pq_getmsgstring (in );
508512 StartTransactionCommand ();
@@ -514,6 +518,7 @@ process_remote_commit(StringInfo in)
514518 }
515519 case PGLOGICAL_ABORT_PREPARED :
516520 {
521+ Assert (!TransactionIdIsValid (MtmGetCurrentTransactionId ()));
517522 gid = pq_getmsgstring (in );
518523 StartTransactionCommand ();
519524 MtmSetCurrentTransactionGID (gid );
@@ -889,8 +894,9 @@ void MtmExecutor(int id, void* work, size_t size)
889894 {
890895 EmitErrorReport ();
891896 FlushErrorState ();
892- MTM_TRACE ("%d: REMOTE abort transaction %d\n" , MyProcPid , GetCurrentTransactionId ());
897+ MTM_TRACE ("%d: REMOTE begin abort transaction %d\n" , MyProcPid , MtmGetCurrentTransactionId ());
893898 AbortCurrentTransaction ();
899+ MTM_TRACE ("%d: REMOTE end abort transaction %d\n" , MyProcPid , MtmGetCurrentTransactionId ());
894900 }
895901 PG_END_TRY ();
896902
0 commit comments