From b87c1dcef3aae93ddccc2877e943cc1e29f7a5f3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 19 Jan 2015 23:01:44 -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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index e27adfd266..7059e40588 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -3805,7 +3805,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 */ if (IsAutoVacuumLauncherProcess()) -- 2.40.0