logical decoding: process ASSIGNMENT during snapshot build

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: e8c7f40a1f8ad2a017ff646f19ef42b07bf4ab51
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2019-09-13T19:36:28Z
Releases: 9.4.25
logical decoding: process ASSIGNMENT during snapshot build

Most WAL records are ignored in early SnapBuild snapshot build phases.
But it's critical to process some of them, so that later messages have
the correct transaction state after the snapshot is completely built; in
particular, XLOG_XACT_ASSIGNMENT messages are critical in order for
sub-transactions to be correctly assigned to their parent transactions,
or at least one assert misbehaves, as reported by Ildar Musin.

Diagnosed-by: Masahiko Sawada
Author: Masahiko Sawada
Discussion: https://postgr.es/m/CAONYFtOv+Er1p3WAuwUsy1zsCFrSYvpHLhapC_fMD-zNaRWxYg@mail.gmail.com

Files

PathChange+/−
src/backend/replication/logical/decode.c modified +8 −5

Discussion