On Thursday 14 January 2010 13:21:07 Simon Riggs wrote:
> On Wed, 2010-01-13 at 19:23 +0000, Simon Riggs wrote:
> > On Wed, 2010-01-13 at 19:58 +0100, Andres Freund wrote:
> > > > I am still testing patch, so should be confident to commit tomorrow
> > > > barring issues.
> > >
> > > I have only looked at briefly because right now I dont have the time
> > > (going to eat at a friends place...) but I think I spotted an issue:
> > > The IsAbortedTransactionBlockState() check in RecoveryConflictInterrupt
> > > is not correct right now because that returns true for TBLOCK_SUBABORT
> > > as well. Wouldnt that mess with the case where were in a failed
> > > subxact and then rollback only that subxact?
> >
> > Well spotted, yes.
>
> Latest version of same patch, but uses conflict reasons passed-thru
> directly from recovery to backend.
>
> Please review, no commit before tomorrow.
I only noted a tiny thing (which was present earlier on):
snprintf(waitactivitymsg, sizeof(waitactivitymsg), "waiting for max_standby_delay (%u ms)", MaxStandbyDelay);
in ResolveRecoveryConflictWithVirtualXIDs.
Shouldnt that be seconds? Otherwise the check in WaitExceedsMaxStandbyDelay is
wrong...
Andres