BufferSync() & FlushRelationBuffers() conflict

Started by Vadim Mikheevalmost 25 years ago5 messages
#1Vadim Mikheev
vmikheev@sectorbase.com

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

#2The Hermit Hacker
scrappy@hub.org
In reply to: Vadim Mikheev (#1)
Re: BufferSync() & FlushRelationBuffers() conflict

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: The Hermit Hacker (#2)
Re: BufferSync() & FlushRelationBuffers() conflict

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

#4The Hermit Hacker
scrappy@hub.org
In reply to: Tom Lane (#3)
Re: BufferSync() & FlushRelationBuffers() conflict

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

#5Vadim Mikheev
vmikheev@sectorbase.com
In reply to: The Hermit Hacker (#2)
Re: BufferSync() & FlushRelationBuffers() conflict

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