Thread: Winner of naming discussions: Synchronous Commit

Winner of naming discussions: Synchronous Commit

From
"Simon Riggs"
Date:
Thank you to everyone for input on the naming of Feature "X".

The clear winner of the parameter naming was synchronous_commit, which
would imply we refer to the new feature as Asynchronous Commit in the
release notes and general discussions.

I will be now be starting to make changes throughout the patch so that
this name is used for variable names, function calls and comments. After
that I'll be working on docs for this feature, though they may not be
available until next week, given my current schedule. The docs will
include discussions of the proof of using mixed synch/asynch commits.

The ideas, in chronological order, and voices in favour of them were:

transaction_guarantee
Idea: Simon Riggs
Supporters: None

deferred_commit
Idea: Tom Lane
Supporters: Richard Huxton

synchronous_commit
Idea: Greg Stark
Supporters: Simon, Josh, Tom, Bruce, Florian

reliable_commit
Idea: Bruce Momjian
Supporters: None

commit_durability
Idea: Simon Riggs
Supporters: None

confirmed_commit
Idea: Greg Smith
Supporters: None

synchronous_commit is a clear winner. Most of the names have
difficulties as to how we would refer to them when turned off: undurable
commit, unconfirmed commit, unreliable commit don't work for me, nor
does undeferred commit make sense for normal commits. Also, I can't see
our press release saying "PostgreSQL releases Unreliable Commit". :-)

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




Re: Winner of naming discussions: Synchronous Commit

From
"Simon Riggs"
Date:
On Mon, 2007-06-25 at 10:01 +0200, Zeugswetter Andreas ADI SD wrote:
> > synchronous_commit
> > Idea: Greg Stark
> > Supporters: Simon, Josh, Tom, Bruce, Florian
> 
> There was one more:
> asynchronous_commit
> Idea: Florian G. Pflug
> Supporters: none
> 
> But if you are calling the feature that (which imho is good), the guc
> might as well get that name.

Hmmm, so we have a choice of:

synchronous_commit = off
asynchronous_commit = on

For the latter, postgresql.conf would default to 
asynchronous_commit = off. 

Personally, I think the double negative is confusing for the normal
case. For me, the feature is turning off something that we normally
have, rather than actively initiating anything.

The feature is related to fsync = off, so it would be confusing to have
the switches work in opposite directions. Now I look, I see this would
make it the only parameter that turning it on removes something. All
other parameters are positive, e.g. enable_X = on

So, although its a knife edge decision, I'd say go with
synchronous_commit = off. 

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




Re: Winner of naming discussions: Synchronous Commit

From
Dave Page
Date:
Simon Riggs wrote:
> So, although its a knife edge decision, I'd say go with
> synchronous_commit = off. 

I agree - I'm not entirely sure why but it just feels more natural than 
asynchronous_commit = on. Plus the reasons you give seem valid.

Regards, Dave



Re: Winner of naming discussions: Synchronous Commit

From
"Zeugswetter Andreas ADI SD"
Date:
> synchronous_commit
> Idea: Greg Stark
> Supporters: Simon, Josh, Tom, Bruce, Florian

There was one more:
asynchronous_commit
Idea: Florian G. Pflug
Supporters: none

But if you are calling the feature that (which imho is good), the guc
might as well get that name.

Andreas


Re: Winner of naming discussions: Synchronous Commit

From
Jim Nasby
Date:
On Jun 25, 2007, at 3:30 AM, Dave Page wrote:
> Simon Riggs wrote:
>> So, although its a knife edge decision, I'd say go with
>> synchronous_commit = off.
>
> I agree - I'm not entirely sure why but it just feels more natural  
> than asynchronous_commit = on. Plus the reasons you give seem valid.

On the flip-side, experienced DBAs are likely tuned into anything  
labeled as "asynchronous"...

I'm wondering if it would be wise to throw a warning at startup if  
either sync_commit or fsync were set to off, ideally so that it would  
both appear in the logs as well as in output from pg_ctl.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)




Re: Winner of naming discussions: Synchronous Commit

From
Tom Lane
Date:
Jim Nasby <decibel@decibel.org> writes:
> I'm wondering if it would be wise to throw a warning at startup if  
> either sync_commit or fsync were set to off, ideally so that it would  
> both appear in the logs as well as in output from pg_ctl.

Egad.  And no doubt also complain about politically incorrect settings
of full_page_writes, add_missing_from, standard_conforming_strings, etc?
Mebbe throw a warning if listen_addresses allows any nonlocal
connections, since obviously you expose yourself to danger that way.

If you think you can get the motion to pass, propose removing these
options entirely.  Don't bother us with nanny-ism.
        regards, tom lane