Re: Excessive number of replication slots for 12->14 logical replication

From: Andres Freund <andres(at)anarazel(dot)de>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: depesz(at)depesz(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Excessive number of replication slots for 12->14 logical replication
Date: 2022-07-15 22:14:07
Message-ID: 20220715221407.b4vopjkzflv4xi47@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

On 2022-07-15 13:55:32 +0900, Kyotaro Horiguchi wrote:
> Yeah, the limitation by max_sync_workers_per_subscription is performed
> on subscriber, but replication slot drops happen not on the
> subscriber, but at the termination of corresponding walsender process
> on publisher. So, there's a lag between the finish of subscription
> worker and the corresponding slot's drop. Thus, a new sync worker can
> be created while the walsenders corresponding to some already finished
> sync workers is still going to finish.

Why are we relying on the slots being dropped at the end of connection? That
doesn't seem like a good idea to me. Can't we just do that explicitly? We
still need the on-connection-close cleanup to deal with network failures etc,
but that doesn't mean we can do something else in the happy path.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2022-07-15 23:22:12 Re: Makefile.global will override configure parameters if "pgsql" and "postgres" appear anywhere in the source path name
Previous Message Tom Lane 2022-07-15 21:06:51 Re: BUG #17434: CREATE/DROP DATABASE can be executed in the same transaction with other commands