Обсуждение: pgsql: Fix replication of in-progress transactions in tablesync worker.

Поиск
Список
Период
Сортировка

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

От
Amit Kapila
Дата:
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(-)