diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index c0af89cf821842efb9b390feb328f6b3da8bb26f..4adc3cd60ad7f7c910ad8b26250bc530ca66b9ac 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -605,6 +605,7 @@ static int tryEnterLocalPage(BufferTag *tag, dms_lock_mode_t mode, dms_buf_ctrl_ Assert(buf_id >= 0); if ((*buf_ctrl)->been_loaded == false) { *buf_ctrl = NULL; + LWLockRelease(buf_desc->content_lock); DmsReleaseBuffer(buf_desc->buf_id + 1, is_seg); ereport(WARNING, (errmodule(MOD_DMS), errmsg("[%u/%u/%u/%d %d-%u] been_loaded marked false, page swapped out and failed to load",