From:
Joachim Wieland <joe(at)mcknight(dot)de>
To:
Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc:
Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Smith <greg(at)2ndquadrant(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org, Arnaud Betremieux <arnaud(dot)betremieux(at)keyconsulting(dot)fr>
Subject:
Re: Listen / Notify - what to do when the queue is full
Date:
2010-02-15 19:21:23
Message-ID:
dc7b844e1002151121y98a9b22lef2cd32d6596261e@mail.gmail.com (view raw or flat )
Thread:
2009-11-15 18:19:39 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-16 14:14:58 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2009-11-18 23:59:42 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-19 00:48:17 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 01:06:53 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-19 02:49:21 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 01:26:37 from Josh Berkus <josh(at)agliodbs(dot)com>
2009-11-19 02:08:43 from Andrew Chernow <ac(at)esilo(dot)com>
2009-11-19 03:14:03 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 03:32:14 from Andrew Chernow <ac(at)esilo(dot)com>
2009-11-19 03:43:58 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 04:03:28 from Andrew Chernow <ac(at)esilo(dot)com>
2009-11-19 04:12:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 03:12:18 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 12:51:58 from Andreas 'ads' Scherbaum <adsmail(at)wars-nicht(dot)de>
2009-11-19 13:23:57 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-19 16:18:48 from Andreas 'ads' Scherbaum <adsmail(at)wars-nicht(dot)de>
2009-11-19 13:16:28 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-19 14:35:56 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-19 14:51:14 from "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
2009-11-19 16:01:06 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-19 16:17:16 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 16:37:50 from "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
2009-11-19 16:41:52 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 17:43:17 from "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
2009-11-19 17:55:53 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-19 22:04:07 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-20 06:51:03 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-20 08:34:16 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-20 09:48:44 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-20 09:35:46 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-11-20 11:34:08 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2009-11-30 05:15:07 from Jeff Davis <pgsql(at)j-davis(dot)com>
2009-11-30 13:14:17 from Joachim Wieland <joe(at)mcknight(dot)de>
2009-12-04 06:17:40 from Jeff Davis <pgsql(at)j-davis(dot)com>
2009-12-07 04:38:43 from Greg Smith <greg(at)2ndquadrant(dot)com>
2009-12-09 10:43:19 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-07 18:40:54 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-07 19:04:28 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-08 12:48:01 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-08 18:19:31 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2010-01-08 18:24:09 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
2010-01-08 20:07:25 from Andrew Chernow <ac(at)esilo(dot)com>
2010-01-08 20:11:38 from Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
2010-01-08 18:24:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-08 20:04:09 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2010-01-08 21:10:27 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-08 21:23:11 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2010-01-11 04:05:55 from "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
2010-01-11 06:58:19 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2010-01-11 10:05:45 from Arnaud Betremieux <arnaud(dot)betremieux(at)keyconsulting(dot)fr>
2010-01-11 13:25:57 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-11 13:51:24 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2010-01-11 14:08:03 from Arnaud Betremieux <arnaud(dot)betremieux(at)keyconsulting(dot)fr>
2010-01-11 13:34:26 from Andrew Chernow <ac(at)esilo(dot)com>
2010-01-19 07:08:45 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-19 09:58:33 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-19 10:54:08 from Arnaud Betremieux <arnaud(dot)betremieux(at)keyconsulting(dot)fr>
2010-01-19 23:41:29 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-20 00:05:07 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-20 00:19:21 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-20 00:24:19 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-20 00:29:03 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-21 02:06:57 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-21 09:14:57 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-21 17:21:56 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-21 23:07:55 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-29 23:02:23 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-02 23:10:23 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-03 01:05:08 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-03 09:34:07 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-07 05:18:25 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-02-07 06:44:39 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-07 16:32:12 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-08 16:16:32 from Alvaro Herrera <alvherre(at)commandprompt(dot)com>
2010-02-10 23:52:18 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-14 13:46:23 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-14 16:22:12 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-14 17:41:39 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-14 18:47:41 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-14 22:44:42 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-15 11:59:43 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-15 12:45:26 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-15 12:48:26 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-15 19:21:23 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-15 20:00:16 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-18 17:58:41 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-02-18 18:11:08 from Josh Berkus <josh(at)agliodbs(dot)com>
2010-02-18 18:12:14 from Merlin Moncure <mmoncure(at)gmail(dot)com>
2010-02-18 18:46:41 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-16 16:02:52 from "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
2010-02-16 18:22:00 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-15 21:36:55 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-17 05:24:41 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-16 22:41:23 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-17 10:16:39 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-02-17 15:33:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-09 06:13:39 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-09 21:46:53 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-09 21:51:05 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-09 22:30:29 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-02-09 23:01:14 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-10 00:02:31 from Andrew Chernow <ac(at)esilo(dot)com>
2010-02-10 00:30:35 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-02-10 00:56:40 from Andrew Dunstan <andrew(at)dunslane(dot)net>
2010-02-10 01:22:50 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-02-10 01:32:14 from Andrew Dunstan <andrew(at)dunslane(dot)net>
2010-02-10 01:38:29 from Alvaro Herrera <alvherre(at)commandprompt(dot)com>
2010-02-10 01:41:14 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-20 08:25:40 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-20 16:14:23 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-20 20:44:02 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-20 20:54:40 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-20 22:08:37 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-01-20 22:39:01 from Joachim Wieland <joe(at)mcknight(dot)de>
2010-01-20 22:40:26 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2009-11-19 13:58:59 from "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
2009-11-19 20:39:19 from Chris Browne <cbbrowne(at)acm(dot)org>
Lists:
pgsql-hackers
On Mon, Feb 15, 2010 at 1:48 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On Mon, 2010-02-15 at 12:59 +0100, Joachim Wieland wrote:
>> I have tested it already. The point where it currently fails is the
>> following line:
>>
>> qe->xid = GetCurrentTransactionId();
>
> That's a shame. So it will never work in Hot Standby mode unless you can
> think of a different way.
We could probably fake this on the Hot Standby in the following way:
We introduce a commit record for every notifying transaction and write
it into the queue itself. So right before writing anything else, we
write an entry which informs readers that the following records are
not yet committed. Then we write the actual notifications and commit.
In post-commit we return back to the commit record and flip its
status. Reading backends would stop at the commit record and we'd
signal them so that they can continue. This actually plays nicely with
Tom's intent to not have interleaved notifications in the queue (makes
things a bit easier but would probably work either way)...
However we'd need to make sure that we clean up that commit record
even if something weird happens (similar to TransactionIdDidAbort()
returning true) in order to allow the readers to proceed.
Comments?
Joachim
In response to
Responses
pgsql-hackers by date
Next :From: Jeroen VermeulenDate: 2010-02-15 19:51:26
Subject : Re: Avoiding bad prepared-statement plans.
Previous :From : Greg SmithDate : 2010-02-15 19:12:35
Subject : Re: psycopg2 license changed