Re: clog_redo causing very long recovery time

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: clog_redo causing very long recovery time
Date: 2011-05-06 04:00:53
Message-ID: 2373.1304654453@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Joe Conway <mail(at)joeconway(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dan Ports 2011-05-06 04:11:33 Re: Why is RegisterPredicateLockingXid called while holding XidGenLock?
Previous Message Joe Conway 2011-05-06 03:41:10 Re: clog_redo causing very long recovery time