Thread: pgsql: Fix xmin/xmax horizon computation during logical decoding initia

pgsql: Fix xmin/xmax horizon computation during logical decoding initia

From
Andres Freund
Date:
Fix xmin/xmax horizon computation during logical decoding initialization.

When building the initial historic catalog snapshot there were
scenarios where snapbuild.c would use incorrect xmin/xmax values when
starting from a xl_running_xacts record. The values used were always a
bit suspect, but happened to be correct in the easy to test
cases. Notably the values used when the the initial snapshot was
computed while no other transactions were running were correct.

This is likely to be the cause of the occasional buildfarm failures on
animals markhor and tick; but it's quite possible to reproduce
problems without CLOBBER_CACHE_ALWAYS.

Backpatch to 9.4, where logical decoding was introduced.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/5a2c184058c51a41b855b9e824102d1395402ffa

Modified Files
--------------
src/backend/replication/logical/snapbuild.c |   20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)