postgresql/contrib/test_decoding/expected
Alvaro Herrera 8d1c1ca70b Reduce cost of test_decoding's new oldest_xmin test
Change a whole-database VACUUM into doing just pg_attribute, which is
the portion that verifies what we want it to do.  The original
formulation wastes a lot of CPU time, which leads the test to fail when
runtime exceeds isolationtester timeout when it's super-slow, such as
under CLOBBER_CACHE_ALWAYS.  Per buildfarm member friarbird.

It turns out that the previous shape of the test doesn't always detect
the condition it is supposed to detect (on unpatched reorderbuffer
code): the reason is that there is a good chance of encountering a
xl_running_xacts record (logged every 15 seconds) before the checkpoint
-- and because we advance the xmin when we receive that WAL record, and
we *don't* advance the xmin twice consecutively without receiving a
client message in between, that means the xmin is not advanced enough
for the tuple to be pruned from pg_attribute by VACUUM.  So the test
would spuriously pass.

The reason this test deficiency wasn't detected earlier is that HOT
pruning removes the tuple anyway, even if vacuum leaves it in place, so
the test correctly fails (detecting the coding mistake), but for the
wrong reason.

To fix this mess, run the s0_get_changes step twice before vacuum
instead of once: this seems to cause the xmin to be advanced reliably,
wreaking havoc with more certainty.

Author: Arseny Sher
Discussion: https://postgr.es/m/87h8lkuxoa.fsf@ars-thinkpad
2018-07-05 16:37:32 -04:00
..
binary.out Message style improvements 2015-10-28 20:38:36 -04:00
concurrent_ddl_dml.out Handle heap rewrites even better in logical decoding 2018-03-21 09:15:04 -04:00
ddl.out Revert MERGE patch 2018-04-12 11:22:56 +01:00
decoding_in_xact.out Collection of typo fixes. 2015-05-20 16:56:22 +03:00
decoding_into_rel.out Fix crash when logical decoding is invoked from a PL function. 2017-10-06 19:18:58 -04:00
delayed_startup.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
messages.out Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
mxact.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
oldest_xmin.out Reduce cost of test_decoding's new oldest_xmin test 2018-07-05 16:37:32 -04:00
ondisk_startup.out Fix race condition leading to hanging logical slot creation. 2017-05-13 14:21:00 -07:00
permissions.out Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
prepared.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
replorigin.out Fix more user-visible elog() calls. 2017-10-05 07:58:02 -04:00
rewrite.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
slot.out Ability to advance replication slots 2018-01-17 11:38:34 +00:00
snapshot_transfer.out Fix "base" snapshot handling in logical decoding 2018-06-26 16:48:10 -04:00
spill.out Make contrib/test_decoding regression tests safe for CZ locale. 2016-11-21 20:39:28 -05:00
time.out logical decoding: fix decoding of a commit's commit time. 2016-03-02 23:42:21 -08:00
toast.out Add regression test for wide REPLICA IDENTITY FULL updates. 2017-08-05 14:43:11 -07:00
truncate.out Logical decoding of TRUNCATE 2018-04-07 11:34:10 -04:00
xact.out Don't propagate a null subtransaction snapshot up to parent transaction. 2016-08-07 13:15:55 -04:00