From 75b48e1fff8a4dedd3ddd7b76f6360b5cc9bb741 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 19 Jan 2015 23:01:33 -0500 Subject: [PATCH] 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 0cf498866a3..827ad713b58 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -3369,7 +3369,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(MyLatch, @@ -4442,7 +4442,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