• Tom Lane's avatar
    stats regression test's wait_for_stats() must check timestamp too. · eda4ef81
    Tom Lane authored
    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 4e37b3e1 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.
    eda4ef81
stats.sql 6.2 KB