pgsql: Refrain from duplicating data in reorderbuffers

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Refrain from duplicating data in reorderbuffers
Date: 2018-03-06 21:35:39
Message-ID: [email protected]
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Refrain from duplicating data in reorderbuffers

If a walsender exits leaving data in reorderbuffers, the next walsender
that tries to decode the same transaction would append its decoded data
in the same spill files without truncating it first, which effectively
duplicate the data. Avoid that by removing any leftover reorderbuffer
spill files when a walsender starts.

Backpatch to 9.4; this bug has been there from the very beginning of
logical decoding.

Author: Craig Ringer, revised by me
Reviewed by: Álvaro Herrera, Petr Jelínek, Masahiko Sawada

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d4429d50a21adcc0543701350d5112e3868a3596

Modified Files
--------------
src/backend/replication/logical/reorderbuffer.c | 137 ++++++++++++++----------
1 file changed, 82 insertions(+), 55 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2018-03-07 02:04:06 pgsql: doc: Add replication parameter to libpq documentation
Previous Message Peter Eisentraut 2018-03-06 19:45:27 pgsql: Fix expected error message in test