pgsql: Fix replication of in-progress transactions in tablesync worker.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix replication of in-progress transactions in tablesync worker.
Date: 2020-11-27 02:22:52
Message-ID: E1kiTPQ-0006vN-Iz@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix replication of in-progress transactions in tablesync worker.

Tablesync worker runs under a single transaction but in streaming mode, we
were committing the transaction on stream_stop, stream_abort, and
stream_commit. We need to avoid committing the transaction in a streaming
mode in tablesync worker.

In passing move the call to process_syncing_tables in
apply_handle_stream_commit after clean up of stream files. This will
allow clean up of files to happen before the exit of tablesync worker
which would otherwise be handled by one of the proc exit routines.

Author: Dilip Kumar
Reviewed-by: Amit Kapila and Peter Smith
Tested-by: Peter Smith
Discussion: https://postgr.es/m/CAHut+Pt4PyKQCwqzQ=EFF=bpKKJD7XKt_S23F6L20ayQNxg77A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0926e96c493443644ba8e96b5d96d013a9ffaf64

Modified Files
--------------
src/backend/replication/logical/worker.c | 100 +++++++++++++++++--------------
1 file changed, 55 insertions(+), 45 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2020-11-27 06:12:35 pgsql: Use standard SIGHUP and SIGTERM signal handlers in worker_spi.
Previous Message Alvaro Herrera 2020-11-26 15:38:27 pgsql: Restore lock level to update statusFlags