From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: stats regression test's wait_for_stats() must check timestamp to |
Date: | 2017-05-15 03:33:26 |
Message-ID: | E1dA6lC-00022r-4G@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2017-05-15 09:08:13 | pgsql: Fix typo in comment |
Previous Message | Bruce Momjian | 2017-05-15 03:15:52 | pgsql: doc: update the "current as of" date in the PG 10 release notes |