Re: [HACKERS] increasing the default WAL segment size - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: [HACKERS] increasing the default WAL segment size
Date
Msg-id CAKFQuwZyhd-zJQqsb8C3cmXzaSKZCu-3evF33i_+JfB8DgnanA@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] increasing the default WAL segment size  (Stephen Frost <sfrost@snowman.net>)
List pgsql-hackers
On Wed, Mar 22, 2017 at 9:51 AM, Stephen Frost <sfrost@snowman.net> wrote:
Robert,

* Robert Haas (robertmhaas@gmail.com) wrote:
> On Wed, Mar 22, 2017 at 12:22 PM, Stephen Frost <sfrost@snowman.net> wrote:
> > While I understand that you'd like to separate the concerns between
> > changing the renaming scheme and changing the default and enabling this
> > option, I don't agree that they can or should be independently
> > considered.
>
> Well, I don't understand what you think is going to happen here.  Neither
> Beena nor any other contributor you don't employ is obliged to write a
> patch for those changes because you'd like them to get made, and Peter and
> I have already voted against including them.  If you or David want to write
> a patch for those changes, post it for discussion, and try to get consensus
> to commit it, that's of course your right.  But the patch will be more than
> three weeks after the feature freeze deadline and will have two committer
> votes against it from the outset.

This would clearly be an adjustment to the submitted patch, which
happens regularly during the review and commit process and is part of
the commitfest process, so I don't agree that holding it to new-feature
level is correct when it's a change which is entirely relevant to this
new feature, and one which a committer is asking to be included as part
of the change.  Nor do I feel particularly bad about asking for feature
authors to be prepared to rework parts of their feature based on
feedback during the commitfest process.

​Maybe it can be fit in as part of the overall patch set but wouldn't placing it either:

First. changing the name behavior and use the existing configure-time ​knob to test it out

or

Second. commit the existing patch relying on the existing behavior and then implement the rename changes using the new initdb-time knob to test it out. 

​in a series make reasoning and discussing the change considerably easier?​


I would have liked to have realized this oddity with the WAL naming
scheme for not-16MB-WALs earlier too, but it's unfortunately not within
my abilities to change that.  That does not mean that we shouldn't be
cognizant of the impact that this new feature will have in exposing this
naming scheme, one which there seems to be agreement is bad, to users.

That said, David is taking a look at it to try and be helpful.

Vote-counting seems a bit premature given that there hasn't been any
particularly clear asking for votes.  Additionally, I believe Peter also
seemed concerned that the existing naming scheme which, if used with,
say, 64MB segments, wouldn't match LSNs either, in this post:
9795723f-b4dd-f9e9-62e4-ddaf6cd888f1@2ndquadrant.com

​While my DBA skills aren't that great I would think that having a system that relies upon the DBA learning how to mentally map between LSN IDs and WAL​ files is a failure in UX in the first place.  The hacker-DBA might get a kick out of being able to operate efficiently with that knowledge and level of skill but the typical DBA would rather have something like "pg_wal --lsn ####" that they can rely upon.  I would think tool builders would likewise rather rely on us to tell them where to go look instead of matching up two strings.

This kinda reminds me of the discussion regarding our version number change.  We are going to expose broken tools that rely on the decimal version number instead of the official integer one.  Here we expose tools that rely on the equivalence between LSN and WAL filenames when using 16MB WAL files.  What I haven't seen defined here is how those tools should be behaving - i.e., what is our supported API.  If we lack an official way of working with these values then maybe we shouldn't give users an initdb-time way to change the WAL file size.

For the uninformed like myself an actual concrete example of an actual program that would be affected would be helpful.

David J.

pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: [HACKERS] increasing the default WAL segment size
Next
From: Robert Haas
Date:
Subject: Re: [HACKERS] increasing the default WAL segment size