stats regression test's wait_for_stats() must check timestamp too. pg_stat_get_snapshot_timestamp() returns the timestamp seen in the "global" stats file. Because pgstat_write_statsfiles() writes per-DB stats files before the global file (or at least before renaming it into place), there is a window where the test backend can see all the stats updates that wait_for_stats() was checking for (all of which come from the per-DB file) but also see the same global stats file it had seen at the start of the test script. This results in a failure in only the "snapshot_newer" query, as reported by a couple of buildfarm members recently.
I suspect that this ought to be back-patched. Commit 4e37b3e15 has evidently increased the probability of this window getting hit, but it's not apparent why it could not have been hit before. I'll refrain for the moment though. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/eda4ef81511ea62e49f5ea9edb8fbfdd529dd959 Modified Files -------------- src/test/regress/expected/stats.out | 9 ++++++++- src/test/regress/sql/stats.sql | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers