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 Nathan Bossart <nathandbossart@gmail.com>
Re: Track Oldest Initialized WAL Buffer Page Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Re: Track Oldest Initialized WAL Buffer Page Nathan Bossart <nathandbossart@gmail.com>
Re: Track Oldest Initialized WAL Buffer Page Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Re: Track Oldest Initialized WAL Buffer Page Heikki Linnakangas <hlinnaka@iki.fi>
Re: Track Oldest Initialized WAL Buffer Page Daniel Gustafsson <daniel@yesql.se>
Re: Track Oldest Initialized WAL Buffer Page Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
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
Дата:
От: Jeff Davis
Дата:
FAQ