diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index 3ccffbfe5..406cdf9f8 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -2245,8 +2245,11 @@ int CBDoCheckpointImmediately(unsigned long long *ckpt_lsn) { Assert(SS_PRIMARY_MODE); - RequestCheckpoint(CHECKPOINT_IMMEDIATE | CHECKPOINT_WAIT); + RequestCheckpoint(CHECKPOINT_IMMEDIATE); + pg_usleep(REFORM_WAIT_LONG); + LWLockAcquire(ControlFileLock, LW_SHARED); *ckpt_lsn = (unsigned long long)t_thrd.shemem_ptr_cxt.ControlFile->checkPointCopy.redo; + LWLockRelease(ControlFileLock); return GS_SUCCESS; }