diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index f88d6f97f6c8b688127eed21cecdcab78fa729be..5f9bf34daafe9fae58b6fca52292de2332659a4c 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -1811,7 +1811,7 @@ static void ReformCleanBackends() SSCountAndPrintChildren(BACKEND_TYPE_NORMAL | BACKEND_TYPE_AUTOVAC); SSProcessForceExit(); } - + pg_usleep(REFORM_WAIT_TIME); wait_time += REFORM_WAIT_TIME; } @@ -1850,7 +1850,8 @@ static void FailoverCleanBackends() ereport(WARNING, (errmodule(MOD_DMS), errmsg("[SS reform][SS failover] failover failed, backends can not exit"))); /* check and print some thread which no exit. */ SSCountAndPrintChildren(BACKEND_TYPE_NORMAL | BACKEND_TYPE_AUTOVAC); - _exit(0); + // _exit(0); + ereport(WARNING, (errmodule(MOD_DMS), errmsg("[SS reform][SS failover] failover zcz continue"))); } if (dms_reform_failed()) { diff --git a/src/gausskernel/storage/access/heap/heapam.cpp b/src/gausskernel/storage/access/heap/heapam.cpp index 2e957e7f631d95c366ca46d8bfb577f027d0330a..02d8e1692f1c907777b7babf492f6a6c9fb0d6e2 100755 --- a/src/gausskernel/storage/access/heap/heapam.cpp +++ b/src/gausskernel/storage/access/heap/heapam.cpp @@ -8847,9 +8847,7 @@ static void heap_xlog_clean(XLogReaderState* record) repairFragmentation); MarkBufferDirty(buffer.buf); } - if (BufferIsValid(buffer.buf)) { - UnlockReleaseBuffer(buffer.buf); - } + UnlockReleaseBuffer(buffer.buf); /* * Update the FSM as well. diff --git a/src/gausskernel/storage/access/transam/xlogutils.cpp b/src/gausskernel/storage/access/transam/xlogutils.cpp index aac7634ebf89c48667a2760b3e413c951a5b8ff0..5ee1761ba4b018d3fb8bd12df5c0d81323c30dbb 100644 --- a/src/gausskernel/storage/access/transam/xlogutils.cpp +++ b/src/gausskernel/storage/access/transam/xlogutils.cpp @@ -681,8 +681,6 @@ XLogRedoAction XLogReadBufferForRedoBlockExtend(RedoBufferTag *redoblock, ReadBu if (mode != RBM_ZERO_AND_LOCK && mode != RBM_ZERO_AND_CLEANUP_LOCK) { if (ENABLE_DMS && !SS_IN_ONDEMAND_RECOVERY) LockBuffer(buf, BUFFER_LOCK_SHARE); - else if (get_cleanup_lock) - LockBufferForCleanup(buf); else LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE); }