Re: BUG #15293: Stored Procedure Triggered by Logical Replication is Unable to use Notification Events
Marc Dean <marc.dean.jr@gmail.com>
From: Marc Dean <marc.dean.jr@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Sergei Kornilov <sk@zsrv.org>, Petr Jelinek <petr@2ndquadrant.com>, "michael.paul.powers@gmail.com" <michael.paul.powers@gmail.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2018-07-24T17:43:30Z
Lists: pgsql-bugs, pgsql-hackers
If Sergei is correct, I would volunteer to work on the patch. I am completely new to the codebase but this issue affects me. According to the documentation for `ProcessCompletedNotifies()` it should be called just before going idle... so perhaps in src/backend/replication/logical/worker.c at the tail end of `apply_handle_commit`? Again.. just looking at the codebase today so if this is beyond beginner level I will assist w/ testing instead. On Tue, Jul 24, 2018 at 11:58 AM, Andres Freund <andres@anarazel.de> wrote: > Hi, > > On 2018-07-24 16:19:45 +0300, Sergei Kornilov wrote: > > I checked this bug and found reason: we do not notify backends about new > events by call ProcessCompletedNotifies from logical worker. > > New notify from regular backend does call ProcessCompletedNotifies: send > signal to all listen backends and found new events for youself. > > But i am not sure where is correct place for call > ProcessCompletedNotifies in logical worker src/backend/replication/logical/worker.c > and i can not provide patch. > > Peter, Petr, this is the second report of this issue. Anything? > > Greetings, > > Andres Freund > >
Commits
-
Disallow LISTEN in background workers.
- e06cc024bd33 13.5 landed
- d84d62b6225b 14.0 landed
- 1316be28664f 15.0 landed
-
Send NOTIFY signals during CommitTransaction.
- 63f28776cb9f 13.5 landed
- 2e4eae87d02f 15.0 landed
- 0eff10a00844 14.0 landed
-
Make some efficiency improvements in LISTEN/NOTIFY.
- 51004c7172b5 13.0 cited