pgsql: Fix concurrent sequence drops during sequence synchronization. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Fix concurrent sequence drops during sequence synchronization.
Date
Msg-id E1vi8Ne-001a0k-2p@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix concurrent sequence drops during sequence synchronization.

A recent BF failure showed that commit 7a485bd641 did not handle the case
where a sequence is dropped concurrently during sequence synchronization
on the subscriber. Previously, pg_get_sequence_data() would ERROR out if
the sequence was dropped concurrently. After 7a485bd641, it instead
returns NULL, which leads to an assertion failure on the subscriber.

To handle this change, update sequence synchronization to skip sequences
for which pg_get_sequence_data() returns NULL.

Author: vignesh C <vignesh21@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/CALDaNm0FoGdt+1mzua0t-=wYdup5_zmFrvfNf-L=MGBnj9HAcg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1ba3eee89a7534a895187f6484f2f5e04f9c3c62

Modified Files
--------------
src/backend/replication/logical/sequencesync.c | 33 +++++++++++++++++++-------
1 file changed, 25 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Add routine to free MCVList
Next
From: Alexander Korotkov
Date:
Subject: pgsql: Remove redundant pg_unreachable() after elog(ERROR) from ExecWai