diff --git a/src/gausskernel/storage/ipc/procarray.cpp b/src/gausskernel/storage/ipc/procarray.cpp index 1c93db7f0..12f40b9b5 100755 --- a/src/gausskernel/storage/ipc/procarray.cpp +++ b/src/gausskernel/storage/ipc/procarray.cpp @@ -3151,8 +3151,9 @@ VirtualTransactionId *GetConflictingVirtualXIDs(TransactionId limitXmin, Oid dbO volatile PGPROC* proc = g_instance.proc_base_all_procs[pgprocno]; volatile PGXACT* pgxact = &g_instance.proc_base_all_xacts[pgprocno]; - /* Exclude prepared transactions */ - if (proc->pid == 0 || (OidIsValid(dbOid) && proc->databaseId != dbOid)) { + /* Exclude prepared transactions and Statement flush thread */ + if (proc->pid == 0 || (OidIsValid(dbOid) && proc->databaseId != dbOid) || + strcmp((const char*)(proc->myProgName), "Statement flush thread") == 0) { continue; }