Re: Block level concurrency during recovery - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: Block level concurrency during recovery
Date
Msg-id 87iqrnpfhb.fsf@oxford.xeocode.com
Whole thread Raw
In response to Block level concurrency during recovery  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Block level concurrency during recovery
List pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> writes:

> * re-create the Cleanup lock on blocks, when the original operation was
> performed while a Cleanup lock was held.
>
> So the plan is to introduce a new XLogLockBufferForCleanup() function
> and then use it in all places where a cleanup lock was held during the
> write of the WAL record.

I'm not sure I'm following what you're talking about. Are you saying the slave
will have to stop when it reaches a cleanup log entry and wait until it can
obtain the exclusive lock with no other pins? 

That sounds like the right thing though it could cause a long pause in WAL
recovery. Perhaps we should plan on being able to kill other processes holding
pins on the buffer just as we discussed killing transactions holding up
advancing the globalxmin.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's 24x7 Postgres support!


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: SSL cleanups/hostname verification
Next
From: Simon Riggs
Date:
Subject: Re: Block level concurrency during recovery