Style of file error messages

Started by Peter Eisentrautover 18 years ago5 messages
#1Peter Eisentraut
peter_e@gmx.net

Just to get an opinion, which is better:

could not open transaction log file "%s": %m
could not open control file "%s": %m
could not open data file "%s": %m
could not open temporary file "%s": %m
could not open whatever file "%s": %m

or just:

could not open file "%s": %m

It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.
(Specific exceptions might exist.) Log analysis tools might also
prefer a uniform format.

Anyway, some consistency either way would be nice.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#2Joshua D. Drake
jd@commandprompt.com
In reply to: Peter Eisentraut (#1)
Re: Style of file error messages

Peter Eisentraut wrote:

Just to get an opinion, which is better:

could not open transaction log file "%s": %m
could not open control file "%s": %m
could not open data file "%s": %m
could not open temporary file "%s": %m
could not open whatever file "%s": %m

or just:

could not open file "%s": %m

It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.
(Specific exceptions might exist.) Log analysis tools might also
prefer a uniform format.

Anyway, some consistency either way would be nice.

Since we use a relative path to $PGDATA I think that:

could not open file "%s" : %m

is plenty.

Sincerely,

Joshua D. Drake

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: Style of file error messages

Peter Eisentraut <peter_e@gmx.net> writes:

Just to get an opinion, which is better:
could not open whatever file "%s": %m
or just:
could not open file "%s": %m

It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.

I like the more verbose variant myself, and would argue that indeed our
message style guidelines mandate it:

45.3.9. Type of the object

When citing the name of an object, state what kind of object it is.

Rationale: Otherwise no one will know what "foo.bar.baz" refers to.

A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.

regards, tom lane

#4Gregory Stark
stark@enterprisedb.com
In reply to: Tom Lane (#3)
Re: Style of file error messages

"Tom Lane" <tgl@sss.pgh.pa.us> writes:

A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.

I think Peter's argument is that what kind of file it is really doesn't help a
regular user. Nonetheless I agree strongly. Even if it doesn't actually make
any practical difference it's one less thing to wonder about and one more
anchor for a user to hold onto when trying to understand what's going on.

I know I feel better knowing what part is actually broken on my car than just
having a dummy light come on even if I'm going to go to the same garage either
way.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com

#5Joshua D. Drake
jd@commandprompt.com
In reply to: Gregory Stark (#4)
Re: Style of file error messages

Gregory Stark wrote:

"Tom Lane" <tgl@sss.pgh.pa.us> writes:

A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.

I think Peter's argument is that what kind of file it is really doesn't help a
regular user. Nonetheless I agree strongly. Even if it doesn't actually make
any practical difference it's one less thing to wonder about and one more
anchor for a user to hold onto when trying to understand what's going on.

I know I feel better knowing what part is actually broken on my car than just
having a dummy light come on even if I'm going to go to the same garage either
way.

In general I agree with your assessment but... In PostgreSQL everything
is structured so formally in terms of the filesystem that the verbosity
seems overkill. I mean think about it:

pg_clog/0FEa
pg_xlog/9283521535
base/124765/23569.1

It isn't really that opaque. Besides, *anybody* who gets the errors we
are talking about is going to post that they can't open the specific
file right?

Sincerely,

Joshua D. Drake

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/