Re: Incorrectly reporting config errors - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Incorrectly reporting config errors
Date
Msg-id 20140121230932.GE17773@awork2.anarazel.de
Whole thread Raw
In response to Re: Incorrectly reporting config errors  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Incorrectly reporting config errors
List pgsql-hackers
On 2014-01-21 16:13:11 -0500, Robert Haas wrote:
> On Tue, Jan 21, 2014 at 3:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Robert Haas <robertmhaas@gmail.com> writes:
> >> I kind of agree with Thom.  I understand why it's doing what it's
> >> doing, but it still seems sort of lame.
> >
> > Well, the point of the message is to report that we failed to apply
> > all the settings requested by the file.  If you prefer some wording
> > squishier than "error", we could bikeshed the message phrasing.
> > But I don't think we should suppress the message entirely; nor does
> > it seem worthwhile to try to track whether all the failures were of
> > precisely this type.
> 
> Well, to me the whole thing smacks of:
> 
> LOG: there is a problem
> LOG: please be aware that we logged a message about a problem
> 
> The only real argument for the message:
> 
> LOG: configuration file "/home/thom/Development/data/postgresql.conf"
> contains errors; unaffected changes were applied
> 
> ...is that somebody might think that the presence of a single error
> caused all the changes to be ignored.  And there's a good reason they
> might think that: we used to do it that way.  But on the flip side, if
> we emitted a LOG or WARNING message every time the user did something
> that works in a way incompatible with previous releases, we'd go
> insane.  So I think the argument for just dumping that message
> altogether is actually pretty good.

I don't find that argument all that convincing. The expectation that a
config file isn't applied if it contains errors is a generally
reasonable one, not just because we used to do it that way. I also don't
see the disadvantage of the current behavour of reporting that we didn't
apply the change. Additionally it makes it easier to look for such
errors, by having a relatively easy to remember message to search for in
the log.

What I think is that we're reporting such problems way too often. The
usual cause I know of is something like:
shared_buffers = 4GB
...
shared_buffers = 6GB

When reloading the config we'll report an error in the line setting it
to 4GB because shared_buffers is PGC_POSTMASTER leading to a spurious
"contains errors" message. Rather annoying.

Now, I am sure somebody will argue along the lines of "well, don't do
that then", but I don't see much merit in that argument. A rather common
and sensible configuration is to have a common configuration file used
across servers, which then is overwritten by a per-server or per-cluster
config file containing values specific to a server/cluster.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Incorrectly reporting config errors
Next
From: Devrim GÜNDÜZ
Date:
Subject: Re: yum psycopg2 doc package not signed