postgres.git / summary / log / commit / refs

commit    3387cbbcb2d1a63ed6e1b1dd778b11dac64be32d
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Jan 20 04:01:36 2015 +0000

    Adjust "pgstat wait timeout" message to be a translatable LOG message.
    
    Per discussion, change the log level of this message to be LOG not WARNING.
    The main point of this change is to avoid causing buildfarm run failures
    when the stats collector is exceptionally slow to respond, which it not
    infrequently is on some of the smaller/slower buildfarm members.
    
    This change does lose notice to an interactive user when his stats query
    is looking at out-of-date stats, but the majority opinion (not necessarily
    that of yours truly) is that WARNING messages would probably not get
    noticed anyway on heavily loaded production systems.  A LOG message at
    least ensures that the problem is recorded somewhere where bulk auditing
    for the issue is possible.
    
    Also, instead of an untranslated "pgstat wait timeout" message, provide
    a translatable and hopefully more understandable message "using stale
    statistics instead of current ones because stats collector is not
    responding".  The original text was written hastily under the assumption
    that it would never really happen in practice, which we now know to be
    unduly optimistic.
    
    Back-patch to all active branches, since we've seen the buildfarm issue
    in all branches.


src/backend/postmaster/pgstat.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index f71fdeb1422..83e61d405bc 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -3393,7 +3393,7 @@ PgstatCollectorMain(int argc, char *argv[]) * first water, but until somebody wants to debug exactly what's * happening there, this is the best we can do. The two-second * timeout matches our pre-9.2 behavior, and needs to be short enough - * to not provoke "pgstat wait timeout" complaints from + * to not provoke "using stale statistics" complaints from * backend_read_statsfile. */ wr = WaitLatchOrSocket(&pgStatLatch, @@ -4471,7 +4471,9 @@ backend_read_statsfile(void) } if (count >= PGSTAT_POLL_LOOP_COUNT) - elog(WARNING, "pgstat wait timeout"); + ereport(LOG, + (errmsg("using stale statistics instead of current ones " + "because stats collector is not responding"))); /* * Autovacuum launcher wants stats about all databases, but a shallow read [parent: a2ac3b890dfc]