fix: auto vacuum stop failed

This commit is contained in:
shenzhengntu 2023-06-15 05:53:41 +00:00 committed by wangyao
parent 263dbe9234
commit 6e00046003
2 changed files with 11 additions and 6 deletions

View File

@ -14742,11 +14742,15 @@ producerXLogParallelBatchRead(XLogReaderState *xlogreader, XLogRecPtr startPtr,
maxFlushedUpto = readedUpto + 8 * 16 * 1024;
} else {
//reConnect to master
if (consumerFailedNum >= 8 && ring_buffer_is_empty(gRingBufferManger)) {
if (!XLogRecPtrIsInvalid(reStartPtr)) {
readedUpto = reStartPtr;
consumerFailedNum = 0;
ReConnectPrimaryDB();
if (consumerFailedNum >= 8) {
if (ring_buffer_is_empty(gRingBufferManger)) {
if (!XLogRecPtrIsInvalid(reStartPtr)) {
readedUpto = reStartPtr;
maxFlushedUpto = reStartPtr;
consumerFailedNum = 0;
failedCount = 0;
ReConnectPrimaryDB();
}
}
} else {
if (readedUpto < flushedUpto) {

View File

@ -802,7 +802,8 @@ smgrtruncatelsn(SMgrRelation reln, ForkNumber *forknum, int nforks, BlockNumber
do {
sleep(1);
minApplyLsn = He3DBQueryMinLsnFromAllStanby();
printf("====pushlsn=%lx==lsn==%lx==\n",minApplyLsn,lsn);
elog(LOG,"====pushlsn=%lx==lsn==%lx==\n",minApplyLsn,lsn);
CHECK_FOR_INTERRUPTS();
} while(minApplyLsn<lsn);
flag = true;
}