Re: pg_replication_origin_drop API potential race condition
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-02-04T08:00:56Z
Lists: pgsql-hackers
Attachments
- v1-0001-replorigin_drop_by_name.patch (application/octet-stream) patch v1-0001
On Thu, Feb 4, 2021 at 4:43 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Thu, Feb 4, 2021 at 9:57 AM Peter Smith <smithpb2250@gmail.com> wrote: > > > > On Wed, Feb 3, 2021 at 11:17 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > > > How about if we call replorigin_by_name() inside replorigin_drop after > > > acquiring the lock? Wouldn't that close this race condition? We are > > > doing something similar for pg_replication_origin_advance(). > > > > > > > Yes, that seems ok. > > > > I wonder if it is better to isolate that locked portion > > (replyorigin_by_name + replorigin_drop) so that in addition to being > > called from pg_replication_origin_drop, we can call it internally from > > PG code to safely drop the origins. > > > > Yeah, I think that would be really good. PSA a patch which I think implements what we are talking about. ---- Kind Regards, Peter Smith. Fujitsu Australia
Commits
-
Make pg_replication_origin_drop safe against concurrent drops.
- cd142e032ebd 14.0 landed