pgsql: Drop replication origin slots before tablesync worker exits.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Drop replication origin slots before tablesync worker exits.
Date: 2022-08-30 03:32:59
Message-ID: E1oSrzn-000YIp-4s@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Drop replication origin slots before tablesync worker exits.

Currently, the replication origin tracking of the tablesync worker is
dropped by the apply worker. So, there will be a small lag between the
tablesync worker exit and its origin tracking got removed. In the
meantime, new tablesync workers can be launched and will try to set up
a new origin tracking. This can lead the system to reach max configured
limit (max_replication_slots) even if the user has configured the max
limit considering the number of tablesync workers required in the system.

We decided not to back-patch as this can occur in very narrow
circumstances and users have to option to increase the configured limit by
increasing max_replication_slots.

Reported-by: Hubert Depesz Lubaczewski
Author: Ajin Cherian
Reviwed-by: Masahiko Sawada, Peter Smith, Hou Zhijie, Amit Kapila
Discussion: https://postgr.es/m/20220714115155.GA5439@depesz.com

Branch
------
master

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

Modified Files
--------------
src/backend/commands/subscriptioncmds.c | 25 ++++++++-------
src/backend/replication/logical/tablesync.c | 50 ++++++++++++++++-------------
2 files changed, 41 insertions(+), 34 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2022-08-30 03:52:56 pgsql: Update the comment in rmgrlist.h to match it to the code.
Previous Message John Naylor 2022-08-30 02:50:55 Re: pgsql: Fix broken cast on MSVC