Обсуждение: BufferSync() & FlushRelationBuffers() conflict

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

BufferSync() & FlushRelationBuffers() conflict

От
"Vadim Mikheev"
Дата:
Just committed changes in bufmgr.c
Regress tests passed but need more specific tests,
as usually. Descr as in CVS:

> Check bufHdr->cntxDirty and call StartBufferIO in BufferSync()
> *before* acquiring shlock on buffer context. This way we should be
> protected against conflicts with FlushRelationBuffers.     
> (Seems we never do excl lock and then StartBufferIO for the same
> buffer, so there should be no deadlock here, - but we'd better
> check this very soon).

Vadim




Re: BufferSync() & FlushRelationBuffers() conflict

От
The Hermit Hacker
Дата:
Tom, since you appear to be able to recreate the bug, can you comment on
this, as to whether we are okay now?

On Wed, 21 Mar 2001, Vadim Mikheev wrote:

> Just committed changes in bufmgr.c
> Regress tests passed but need more specific tests,
> as usually. Descr as in CVS:
>
> > Check bufHdr->cntxDirty and call StartBufferIO in BufferSync()
> > *before* acquiring shlock on buffer context. This way we should be
> > protected against conflicts with FlushRelationBuffers.
> > (Seems we never do excl lock and then StartBufferIO for the same
> > buffer, so there should be no deadlock here, - but we'd better
> > check this very soon).
>
> Vadim
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org



Re: BufferSync() & FlushRelationBuffers() conflict

От
Tom Lane
Дата:
The Hermit Hacker <scrappy@hub.org> writes:
> Tom, since you appear to be able to recreate the bug, can you comment on
> this, as to whether we are okay now?

Sorry for the delay --- I was down in Norfolk all day, and am just now
catching up on email.  I will pull Vadim's update and run the test some
more.  However, last night I only saw the failure once in about an
hour's worth of testing, so it's not that easy to reproduce anyway...
        regards, tom lane


Re: BufferSync() & FlushRelationBuffers() conflict

От
The Hermit Hacker
Дата:
okay, baring you bein able to recreate the bug between now and, say,
13:00AST tomorrow, I'll wrap up RC1 and get her out the door ...

On Wed, 21 Mar 2001, Tom Lane wrote:

> The Hermit Hacker <scrappy@hub.org> writes:
> > Tom, since you appear to be able to recreate the bug, can you comment on
> > this, as to whether we are okay now?
>
> Sorry for the delay --- I was down in Norfolk all day, and am just now
> catching up on email.  I will pull Vadim's update and run the test some
> more.  However, last night I only saw the failure once in about an
> hour's worth of testing, so it's not that easy to reproduce anyway...
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>

Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org



Re: BufferSync() & FlushRelationBuffers() conflict

От
"Vadim Mikheev"
Дата:
> > Tom, since you appear to be able to recreate the bug, can you comment on
> > this, as to whether we are okay now?
> 
> Sorry for the delay --- I was down in Norfolk all day, and am just now
> catching up on email.  I will pull Vadim's update and run the test some
> more.  However, last night I only saw the failure once in about an
> hour's worth of testing, so it's not that easy to reproduce anyway...

I saw >~ 10 failures with -B 32 in ~ 3 minutes of testing. With old code,
of course -:)

Vadim