Thread: Hot Standby: Code Snapshot (v2b)

Hot Standby: Code Snapshot (v2b)

From
Simon Riggs
Date:
Current patch applies cleanly to cvs head. Single integrated patch with
all features.

New Features
* new parameter: trace_recovery_messages allows you to get detailed
messages for this patch using same mechanism as log_min_messages.
e.g. you can set trace_recovery_messages = DEBUG4 to get reams of debug
goo, while not getting too many other messages
* new control functions - as discussed on list - this allows you to
pause/restart/step thru recovery - useful for debugging, as well as PITR

Internal changes since last version:
* sgml docs for above main two new features (copied here as HTML also,
which is just for readability of those who don't want to build SGML)
* cleanup locks taken while applying cleanup WAL
* regular pin waiter stats output [DEBUG:  cleanup wait total=0.000 s]
* flat file handling: db and auth file refresh (without locking)
* various other bug fixes and minor tweaks

Known Issues
* one case in "make installcheck" recovery fails an assert check.
Mulling over a clean way to handle it, since its rare, but fiddly. Tried
a couple of ways of solving it, neither very satisfactory. I'll sleep on
it. Not a showstopper, but I don't want to holdoff presenting a snapshot
because of it.

Things still in progress
* row cleaners delay or kill users
* locking, relcache invalidation (early stages of coding)
* correct locking around flat file refresh (just dummied out for now)
* btree vacuuming changes (prototyped, but deferred for now)
* prepared transactions (regression test disabled currently)

Just a stroll up the North Face to go... should any showstoppers arise,
this patch is close to being a useful intermediate point if we had to
make tough decisions about what features to include.

Patch now touches 53 files, 250kb...

--
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support

Attachment

Re: Hot Standby: Code Snapshot (v2b)

From
Simon Riggs
Date:
On Mon, 2008-10-27 at 19:19 +0000, Simon Riggs wrote:
> Single integrated patch with all features.

v3a dev snapshot, applies to head with minor offsets
passes make check and recovery of continuous make installcheck

> New Features
* recovery.conf parameter: max_standby_delay
* startup process waits for, then cancels backends with old snapshots

> Internal changes since last version:
> * various other bug fixes and minor tweaks
>
> Known Issues
> * one case in "make installcheck" recovery fails an assert check.
> Mulling over a clean way to handle it, since its rare, but fiddly. Tried
> a couple of ways of solving it, neither very satisfactory. I'll sleep on
> it. Not a showstopper, but I don't want to holdoff presenting a snapshot
> because of it.

Fixed, plus 2 other prior bugs.

> Things still in progress
> * row cleaners delay or kill users

Done

> * locking, relcache invalidation (early stages of coding)
> * correct locking around flat file refresh (just dummied out for now)
> * btree vacuuming changes (prototyped, but deferred for now)
> * prepared transactions (regression test disabled currently)

--
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support

Attachment