On 2012-12-05 18:08:01 +0100, Andres Freund wrote: > On 2012-12-05 11:40:16 -0500, Tom Lane wrote: > > Andres Freund <and...@2ndquadrant.com> writes: > > > Basically the whole logical arround recoveryApply seems to be broken > > > currently. Because if recoveryApply=false we currently don't pause at > > > all because we jump out of the apply loop with the break. > > > > Huh? That break is after the pause: > > > > /* > > * Have we reached our recovery target? > > */ > > if (recoveryStopsHere(record, &recoveryApply)) > > { > > /* > > * Pause only if users can connect to send a resume > > * message > > */ > > if (recoveryPauseAtTarget && standbyState == > > STANDBY_SNAPSHOT_READY) > > { > > SetRecoveryPause(true); > > recoveryPausesHere(); > > } > > reachedStopPoint = true; /* see below */ > > recoveryContinue = false; > > if (!recoveryApply) > > break; > > } > > Oh, yea. I mixed what I read in the patch and what exists today in my > mind, sorry for that. > > But it still seems rather strange that we break out of the loop > depending on recovery_target_inclusive which is what recoveryApply > basically is set to.
That part is obviously bullshit as we also set recoveryContinue = false which means we will jump out of the loop later. Only after waiting for another record though ... Man, that file is confusing. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs