Re: Track Oldest Initialized WAL Buffer Page

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема Re: Track Oldest Initialized WAL Buffer Page
Дата
Msg-id 20230228002217.GB1390948@nathanxps13
обсуждение исходный текст
Ответ на Track Oldest Initialized WAL Buffer Page  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Ответы Re: Track Oldest Initialized WAL Buffer Page  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
Список pgsql-hackers
On Tue, Feb 07, 2023 at 07:30:00PM +0530, Bharath Rupireddy wrote:
> +        /*
> +         * Try updating oldest initialized XLog buffer page.
> +         *
> +         * Update it if we are initializing an XLog buffer page for the first
> +         * time or if XLog buffers are full and we are wrapping around.
> +         */
> +        if (XLogRecPtrIsInvalid(XLogCtl->OldestInitializedPage) ||
> +            (!XLogRecPtrIsInvalid(XLogCtl->OldestInitializedPage) &&
> +             XLogRecPtrToBufIdx(XLogCtl->OldestInitializedPage) == nextidx))
> +        {
> +            Assert(XLogCtl->OldestInitializedPage < NewPageBeginPtr);
> +
> +            XLogCtl->OldestInitializedPage = NewPageBeginPtr;
> +        }

nitpick: I think you can simplify the conditional to

    if (XLogRecPtrIsInvalid(XLogCtl->OldestInitializedPage) ||
        XLogRecPtrToBufIdx(XLogCtl->OldestInitializedPage) == nextidx)

It's confusing to me that OldestInitializedPage is set to NewPageBeginPtr.
Doesn't that set it to the beginning of the newest initialized page?

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



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

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: Re: verbose mode for pg_input_error_message?
Следующее
От: Jeff Davis
Дата:
Сообщение: Re: Non-superuser subscription owners