From 78e11ebf8cd673cb76e0dcafda977e5d8d508285 Mon Sep 17 00:00:00 2001 From: movead Date: Thu, 14 Sep 2023 12:00:13 +0800 Subject: [PATCH] createlsnmarker for xact dispatch if enable_batch_dispatch is true --- .../storage/access/transam/parallel_recovery/dispatcher.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp b/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp index 91c8f84b1..40fb6dc16 100755 --- a/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp +++ b/src/gausskernel/storage/access/transam/parallel_recovery/dispatcher.cpp @@ -727,6 +727,12 @@ static void DispatchToOnePageWorker(XLogReaderState *record, const RelFileNode & */ static void DispatchTxnRecord(XLogReaderState *record, List *expectedTLIs, TimestampTz recordXTime, bool imcheckpoint) { + if (g_instance.attr.attr_storage.enable_batch_dispatch) { + for (uint32 i = 0; i < g_dispatcher->pageWorkerCount; i++) { + RedoItem *item = CreateLSNMarker(record, expectedTLIs, false); + AddPageRedoItem(g_dispatcher->pageWorkers[i], item); + } + } RedoItem *trxnItem = CreateRedoItem(record, 1, ANY_WORKER, expectedTLIs, recordXTime, true); trxnItem->imcheckpoint = imcheckpoint; /* immdiate checkpoint set imcheckpoint */ AddTxnRedoItem(g_dispatcher->txnWorker, trxnItem);