Re: Infinite loop in XLogPageRead() on standby

Поиск
Список
Период
Сортировка
От Alexander Kukushkin
Тема Re: Infinite loop in XLogPageRead() on standby
Дата
Msg-id CAFh8B=msY9ZcYN9eN+UVOo+1mNEBfVu454oOu6qi=fdy-7momg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Infinite loop in XLogPageRead() on standby  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Ответы Re: Infinite loop in XLogPageRead() on standby  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Список pgsql-hackers
Hi Kyotaro,

Oh, now I understand what you mean. Is the retry supposed to happen only when we are reading the very first page from the WAL file?

On Wed, 6 Mar 2024 at 09:57, Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote:

xlogrecovery.c:
@@ -3460,8 +3490,10 @@ retry:
         * responsible for the validation.
         */
        if (StandbyMode &&
+               targetPagePtr % 0x100000 == 0 &&
                !XLogReaderValidatePageHeader(xlogreader, targetPagePtr, readBuf))
        {


Hmm, I think you meant to use wal_segment_size, because 0x100000 is just 1MB. As a result, currently it works for you by accident.
 
Thus, I managed to reproduce precisely the same situation as you
described utilizing your script with modifications and some core
tweaks, and with the change above, I saw that the behavior was
fixed. However, for reasons unclear to me, it shows another issue, and
I am running out of time and need more caffeine. I'll continue
investigating this tomorrow.

Thank you for spending your time on it!

--
Regards,
--
Alexander Kukushkin

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dean Rasheed
Дата:
Сообщение: Re: Proposal to include --exclude-extension Flag in pg_dump
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: pipe_read_line for reading arbitrary strings