From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Greg Stark <stark(at)mit(dot)edu> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Recovery inconsistencies, standby much larger than primary |
Date: | 2014-02-13 19:52:10 |
Message-ID: | 18334.1392321130@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Greg Stark <stark(at)mit(dot)edu> writes:
>> I think what you're arguing is that we should see WAL records filling the
>> rest of segment 1 before we see any references to segment 2, but if that's
>> the case then how did we get into the situation you reported? Or is it
>> just that it was a broken base backup to start with?
> The scenario I could come up with that didn't require a broken base backup
> was that there was an earlier truncate or vacuum. So the sequence is high
> offset reference, truncate, growth, crash. All possibly on a single
> database.
That's not really an issue, because then it would be OK to discard the
high-offset update; we'd recognize that as safe when we replay the
truncation.
> It's possible we're better off not assuming we've thought of all possible
> ways this can happen though.
That's what's bothering me, too. On the other hand, if we can't think of
a scenario where it'd be necessary to replay the high-offset update, then
I'm disinclined to mess with the code further.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2014-02-13 20:00:38 | Re: Recovery inconsistencies, standby much larger than primary |
Previous Message | Tom Lane | 2014-02-13 19:45:18 | Re: how set GUC_check_errhint_string in call_string_check_hook() |