Обсуждение: pgsql: Fix incorrect initialization of ProcGlobal->startupBufferPinWait

Поиск
Список
Период
Сортировка

pgsql: Fix incorrect initialization of ProcGlobal->startupBufferPinWait

От
Tom Lane
Дата:
Fix incorrect initialization of ProcGlobal->startupBufferPinWaitBufId.

It was initialized in the wrong place and to the wrong value.  With bad
luck this could result in incorrect query-cancellation failures in hot
standby sessions, should a HS backend be holding pin on buffer number 1
while trying to acquire a lock.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/2e53bd5517431637e495c7614761e5aae46b4eba

Modified Files
--------------
src/backend/storage/buffer/bufmgr.c |    3 ++-
src/backend/storage/lmgr/proc.c     |   10 ++++------
src/include/storage/proc.h          |    2 +-
3 files changed, 7 insertions(+), 8 deletions(-)


Re: pgsql: Fix incorrect initialization of ProcGlobal->startupBufferPinWait

От
Simon Riggs
Дата:
On Tue, Aug 2, 2011 at 6:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Fix incorrect initialization of ProcGlobal->startupBufferPinWaitBufId.
>
> It was initialized in the wrong place and to the wrong value.  With bad
> luck this could result in incorrect query-cancellation failures in hot
> standby sessions, should a HS backend be holding pin on buffer number 1
> while trying to acquire a lock.

Did I miss a bug report?

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: pgsql: Fix incorrect initialization of ProcGlobal->startupBufferPinWait

От
Tom Lane
Дата:
Simon Riggs <simon@2ndQuadrant.com> writes:
> On Tue, Aug 2, 2011 at 6:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Fix incorrect initialization of ProcGlobal->startupBufferPinWaitBufId.
>>
>> It was initialized in the wrong place and to the wrong value. �With bad
>> luck this could result in incorrect query-cancellation failures in hot
>> standby sessions, should a HS backend be holding pin on buffer number 1
>> while trying to acquire a lock.

> Did I miss a bug report?

No, this was something I happened across in code-reading a few weeks ago
and had a note to myself to fix.  While looking at it today I found more
problems ... see second commit.

            regards, tom lane

Re: pgsql: Fix incorrect initialization of ProcGlobal->startupBufferPinWait

От
Simon Riggs
Дата:
On Tue, Aug 2, 2011 at 8:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
>> On Tue, Aug 2, 2011 at 6:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> Fix incorrect initialization of ProcGlobal->startupBufferPinWaitBufId.
>>>
>>> It was initialized in the wrong place and to the wrong value.  With bad
>>> luck this could result in incorrect query-cancellation failures in hot
>>> standby sessions, should a HS backend be holding pin on buffer number 1
>>> while trying to acquire a lock.
>
>> Did I miss a bug report?
>
> No, this was something I happened across in code-reading a few weeks ago
> and had a note to myself to fix.  While looking at it today I found more
> problems ... see second commit.

I'm happy to fix problems I've caused that are reported to me.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services