On 05/05/2011 09:00 PM, Tom Lane wrote:
> Joe Conway <mail@joeconway.com> writes:
>> Right -- I think another similar problem exists in GetNewMultiXactId
>> where ExtendMultiXactOffset could succeed and write an XLOG entry and
>> then ExtendMultiXactMember could fail before advancing nextMXact. The
>> problem in this case is that they both write XLOG entries, so a simple
>> reversal doesn't help.
>
> Hmm. Maybe we need a real fix then. I was just sitting here
> speculating about whether we'd ever decide we need to WAL-log
> pg_subtrans --- because if we did, my solution would fail.
>
> I still think that the right fix is to avoid emitting redundant
> XLOG records in the first place, rather than hacking recovery
> to not process them. Possibly we could modify slru.c so that
> it could be determined whether zeroing of the current page had
> already happened. In a quick look, it looks like noting whether
> latest_page_number had already been advanced to that page might
> do the trick.
Thanks -- I'll test that out.
Joe
--
Joseph E Conway
President/CEO
credativ LLC
www.credativ.us
616 Burnham Street
El Cajon, CA 92019
Office: +1 619 270 8787
Mobile: +1 619 843 8340