Re: Listen / Notify - what to do when the queue is full

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Listen / Notify - what to do when the queue is full
Дата
Msg-id 4B067EB0.1030701@enterprisedb.com
обсуждение исходный текст
Ответ на Re: Listen / Notify - what to do when the queue is full  (Joachim Wieland <joe@mcknight.de>)
Список pgsql-hackers
Joachim Wieland wrote:
> On Thu, Nov 19, 2009 at 11:04 PM, Joachim Wieland <joe@mcknight.de> wrote:
>> Given your example, what I am proposing now is to stop reading from
>> the queue once we see a not-yet-committed notification but once the
>> queue is full, read the uncommitted notifications, effectively copying
>> them over into the backend's own memory... Once the transaction
>> commits and sends a signal, we can process, send and discard the
>> previously copied notifications. In the above example, at some point
>> one, two or all three backends would see that the queue is full and
>> everybody would read the uncommitted notifications of the other one,
>> copy them into the own memory and space will be freed in the queue.
> 
> Attached is the patch that implements the described modifications.

That's still not enough if session 2 that issues the LISTEN wasn't
previously subscribed to any channels. It will still miss the notification.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tino Wildenhain
Дата:
Сообщение: Re: Python 3.1 support
Следующее
От: Greg Smith
Дата:
Сообщение: Re: enable-thread-safety defaults?