mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-28 01:41:51 +02:00
Now that we know last_statrequest > last_statwrite can be observed in the
buildfarm, expend a little more effort on the log message for it.
This commit is contained in:
parent
23244d6f24
commit
223f82d4da
@ -13,7 +13,7 @@
|
||||
*
|
||||
* Copyright (c) 2001-2010, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.202 2010/03/12 22:19:19 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.203 2010/03/24 16:07:10 tgl Exp $
|
||||
* ----------
|
||||
*/
|
||||
#include "postgres.h"
|
||||
@ -3288,15 +3288,24 @@ pgstat_write_statsfile(bool permanent)
|
||||
last_statwrite = globalStats.stats_timestamp;
|
||||
|
||||
/*
|
||||
* It's not entirely clear whether there could be clock skew between
|
||||
* backends and the collector; but just in case someone manages to
|
||||
* send us a stats request time that's in the future, reset it.
|
||||
* This ensures that no inquiry message can cause more than one stats
|
||||
* file write to occur.
|
||||
* If there is clock skew between backends and the collector, we
|
||||
* could receive a stats request time that's in the future. If so,
|
||||
* complain and reset last_statrequest. Resetting ensures that no
|
||||
* inquiry message can cause more than one stats file write to occur.
|
||||
*/
|
||||
if (last_statrequest > last_statwrite)
|
||||
{
|
||||
elog(LOG, "last_statrequest is in the future, resetting");
|
||||
char *reqtime;
|
||||
char *mytime;
|
||||
|
||||
/* Copy because timestamptz_to_str returns a static buffer */
|
||||
reqtime = pstrdup(timestamptz_to_str(last_statrequest));
|
||||
mytime = pstrdup(timestamptz_to_str(last_statwrite));
|
||||
elog(LOG, "last_statrequest %s is later than collector's time %s",
|
||||
reqtime, mytime);
|
||||
pfree(reqtime);
|
||||
pfree(mytime);
|
||||
|
||||
last_statrequest = last_statwrite;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user