From 667bd6e18a1e23a1ad0fb57f3978ec4977c2ed83 Mon Sep 17 00:00:00 2001 From: chendong76 <1209756284@qq.com> Date: Fri, 27 Sep 2024 10:08:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=AA=E5=9C=A8=E6=8C=89?= =?UTF-8?q?=E9=9C=80=E5=9B=9E=E6=94=BE=E4=B8=8B=E6=9F=A5=E8=AF=A2get=5Fond?= =?UTF-8?q?emand=5Frecovery=5Fstatus=E8=A7=86=E5=9B=BE=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84core=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../access/transam/ondemand_extreme_rto/page_redo.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp index e4b16d88f..8657987ce 100644 --- a/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp +++ b/src/gausskernel/storage/access/transam/ondemand_extreme_rto/page_redo.cpp @@ -4261,6 +4261,9 @@ void GetOndemandRecoveryStatus(ondemand_recovery_stat *stat) stat->hmpTotalBlkNum = g_dispatcher->parseManager.memctl.totalblknum; stat->trxnQueueNum = SPSCGetQueueCount(g_dispatcher->trxnQueue); stat->segQueueNum = SPSCGetQueueCount(g_dispatcher->segQueue); + stat->recordItemNum = pg_atomic_read_u32(&g_dispatcher->curItemNum); + stat->recordItemMemUsed = stat->recordItemNum * sizeof(RedoItem) + + pg_atomic_read_u64(&g_dispatcher->curItemRecordBufMemSize); } else { stat->checkpointPtr = InvalidXLogRecPtr; stat->replayedPtr = InvalidXLogRecPtr; @@ -4268,14 +4271,13 @@ void GetOndemandRecoveryStatus(ondemand_recovery_stat *stat) stat->hmpTotalBlkNum = 0; stat->trxnQueueNum = 0; stat->segQueueNum = 0; + stat->recordItemNum = 0; + stat->recordItemMemUsed = 0; } stat->inOndemandRecovery = SS_IN_ONDEMAND_RECOVERY; stat->ondemandRecoveryStatus = g_instance.dms_cxt.SSRecoveryInfo.cluster_ondemand_status; stat->realtimeBuildStatus = g_instance.dms_cxt.SSRecoveryInfo.ondemand_realtime_build_status; stat->recoveryPauseStatus = g_instance.dms_cxt.SSRecoveryInfo.ondemand_recovery_pause_status; - stat->recordItemNum = pg_atomic_read_u32(&g_dispatcher->curItemNum); - stat->recordItemMemUsed = stat->recordItemNum * sizeof(RedoItem) + - pg_atomic_read_u64(&g_dispatcher->curItemRecordBufMemSize); } void RealtimeBuildReleaseRecoveryLatch(int code, Datum arg) {