From d2c643d0aead7c2c38dd66f2ec98f32d8104458f Mon Sep 17 00:00:00 2001 From: gentle_hu Date: Tue, 28 Nov 2023 17:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=80=E5=A4=A7=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E6=A8=A1=E5=BC=8F=E6=9F=90=E4=BA=9B=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E4=B8=8D=E7=94=9F=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/process/postmaster/checkpointer.cpp | 3 ++- src/gausskernel/storage/replication/syncrep.cpp | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gausskernel/process/postmaster/checkpointer.cpp b/src/gausskernel/process/postmaster/checkpointer.cpp index 217250e34..581832d53 100755 --- a/src/gausskernel/process/postmaster/checkpointer.cpp +++ b/src/gausskernel/process/postmaster/checkpointer.cpp @@ -397,7 +397,7 @@ void CheckpointerMain(void) u_sess->attr.attr_storage.CheckPointTimeout = ENABLE_INCRE_CKPT ? u_sess->attr.attr_storage.incrCheckPointTimeout : u_sess->attr.attr_storage.fullCheckPointTimeout; - + most_available_sync = (volatile bool) u_sess->attr.attr_storage.guc_most_available_sync; /* * Checkpointer is the last process to shut down, so we ask it to * hold the keys for a range of other tasks required most of which @@ -740,6 +740,7 @@ void CheckpointWriteDelay(int flags, double progress) if (t_thrd.checkpoint_cxt.got_SIGHUP) { t_thrd.checkpoint_cxt.got_SIGHUP = false; ProcessConfigFile(PGC_SIGHUP); + most_available_sync = (volatile bool)u_sess->attr.attr_storage.guc_most_available_sync; /* update shmem copies of config variables */ UpdateSharedMemoryConfig(); } diff --git a/src/gausskernel/storage/replication/syncrep.cpp b/src/gausskernel/storage/replication/syncrep.cpp index 090c25d8a..22679b9ea 100755 --- a/src/gausskernel/storage/replication/syncrep.cpp +++ b/src/gausskernel/storage/replication/syncrep.cpp @@ -1130,6 +1130,9 @@ static void SyncRepGetNthLatestSyncRecPtr(XLogRecPtr* receivePtr, XLogRecPtr* wr } group_len = list_length(stby_list); + if (group_len == 0) { + return; + } receive_array = (XLogRecPtr*)palloc(sizeof(XLogRecPtr) * group_len); write_array = (XLogRecPtr*)palloc(sizeof(XLogRecPtr) * group_len);