Re: SLRUs in the main buffer pool - Page Header definitions

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: "Bagga, Rishu" <bagrishu(at)amazon(dot)com>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Andres Freund <andres(at)anarazel(dot)de>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, "Debnath, Shawn" <sdn(at)amazon(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: SLRUs in the main buffer pool - Page Header definitions
Date: 2023-07-17 20:19:31
Message-ID: ZLWiU61qatL6fHI2@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Greetings,

[snipped quoted bits]

Would really be helpful to keep who the author of each quoted snipper
was when you quote them; dropping that makes it look like one person
wrote all of them and that's confusing.

* Bagga, Rishu (bagrishu(at)amazon(dot)com) wrote:
> The third patch brings back the the SLRU control structure, to keep it
> as an extensible feature for now, and renames the handler for the
> components we are moving into the buffercache to NREL (short for non
> relational). nrel.c is essentially a copy of Munro’s modified slru.c,
> and I have restored the original slru.c. This allows for existing
> extensions utilizing SLRUs to keep working, and the test_slru unit tests
> to pass, as well as introducing a more accurate name for the handling of
> components (CLOG, Multixact Offsets/Members, Async, Serial, Subtrans)
> that are no longer handled by an SLRU, but are still non relational
> components. To address Andres’s concern - I modified the slru stats test
> code to still track all these current components and maintain the
> behavior, and confirmed as those tests pass as well.

Haven't really looked over the patches yet but I wanted to push back on
this a bit- you're suggesting that we'd continue to maintain and update
slru.c for the benefit of extensions which use it while none of the core
code uses it? For how long? For my 2c, at least, I'd rather we tell
extension authors that they need to update their code instead. There's
reasons why we're moving the SLRUs into the main buffer pool and having
page headers for them and using the existing page code to read/write
them and extension authors should be eager to gain those advantages too.
Not sure how much concern to place on extensions that aren't willing to
adjust to changes like these.

> The fourth patch adds the page headers to these Non Relational (NREL)
> components, and provides the upgrade story to rewrite the clog and
> multixact files with page headers across upgrades.

Nice.

> With the changes from all four patches, they pass all tests with make
> installcheck-world, as well as test_slru.

Awesome, will try to take a look soon.

Thanks,

Stephen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2023-07-17 20:47:44 Re: harmonize password reuse in vacuumdb, clusterdb, and reindexdb
Previous Message Daniel Gustafsson 2023-07-17 20:06:07 Re: Fine-tune TLS 1.3 cipher suites and curves lists