Re: [16+] subscription can end up in inconsistent state
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, pgsql-bugs@postgresql.org
Date: 2023-09-19T14:03:12Z
Lists: pgsql-bugs
On Mon, Sep 11, 2023 at 3:00 PM Jeff Davis <pgsql@j-davis.com> wrote: > On Mon, 2023-09-11 at 08:59 +0530, Amit Kapila wrote: > > Can we think of calling walrcv_check_conninfo() when the following > > check is true (MySubscription->passwordrequired && > > !superuser_arg(MySubscription->owner))? IIUC this has to be done for > > both apply_worker and tablesync_worker. > > To me, it would make sense to just have walrcv_connect() do both checks > (a) and (b) -- rather than only check (b) -- when must_use_password is > true. Separating these checks (which are really two parts of the same > check) led to this problem in the first place. Sorry for the slow response. I agree with this, and I also think that keeping the existing checks makes sense. > Another thought: we may also need to invalidate the subscription worker > in cases where a user loses their superuser status. I am not sure whether there's any problem here. I don't think it's important that the worker realizes that it's lost superuser instantaneously. But it should probably realize it, say, at the next transaction boundary. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Fix buildfarm error from commit 5c31669058.
- 5b5318c38745 16.2 landed
- dd3ca8cbb014 17.0 landed
-
Re-validate connection string in libpqrcv_connect().
- 4c03ac7e2bc4 16.2 landed
- 5c31669058b5 17.0 landed