Re: warm standby server stops doingcheckpointsafterawhile - Mailing list pgsql-general

From Teodor Sigaev
Subject Re: warm standby server stops doingcheckpointsafterawhile
Date
Msg-id 4663E16A.10706@sigaev.ru
Whole thread Raw
In response to Re: warm standby server stops doingcheckpointsafterawhile  (Frank Wittig <fw@weisshuhn.de>)
Responses Re: warm standby server stops doingcheckpointsafterawhile  (Teodor Sigaev <teodor@sigaev.ru>)
List pgsql-general
> <2007-06-01 23:00:00.001 CEST:%> LOG:  GIN incomplete splits=8

Just to be sure: patch fixes *creating* of WAL log, not replaying. So, primary
db should be patched too.

During weekend I found possible deadlock in locking protocol in GIN between
concurrent UPDATE and VACUUM queries with the same GIN index involved. Strange,
but I didn't see it in 8.2 and even now I can't reproduce it. It's easy to
reproduce оnly on HEAD with recently added ReadBufferWithStrategy() call instead
of ReadBuffer(). ReadBufferWithStrategy() call was added to implement
limited-size "ring" of buffers for VACUUM. Nevertheless, it's a possible
scenario in 8.2.

Attached patch fixes that deadlock bug too. And, previous version of my patch
has a mistake which is observable on CREATE INDEX .. USING GIN query.

--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/

Attachment

pgsql-general by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Re: Tablespaces
Next
From: PFC
Date:
Subject: Re: Numeric performances