!6020 【bugfix】修复实时构建在ss_ondemand_recovery_mem_size较小的情况下,Startup线程卡在DispatchXactRecord

Merge pull request !6020 from 周聪/bugfix_ondemand_realtime_build_hangup_pr
This commit is contained in:
opengauss_bot
2024-08-13 11:03:37 +00:00
committed by Gitee

View File

@ -1784,6 +1784,10 @@ bool TrxnManagerDistributeItemsBeforeEnd(RedoItem *item)
TrxnManagerProcHashMapPrune();
} else {
if (XLByteLT(item->record.EndRecPtr, g_redoWorker->nextPrunePtr)) {
if (XactHasSegpageRelFiles(&item->record)) {
uint32 expected = 1;
pg_atomic_compare_exchange_u32((volatile uint32 *)&(g_dispatcher->segpageXactDoneFlag), &expected, 0);
}
DereferenceRedoItem(item);
return exitFlag;
}