Re: Why need XLogReadBuffer have the paramter "init"?

From: "Jacky Leng" <lengjianquan(at)163(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Why need XLogReadBuffer have the paramter "init"?
Date: 2007-04-12 01:49:56
Message-ID: evk3gj$i94$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
news:15998(dot)1176303488(at)sss(dot)pgh(dot)pa(dot)us(dot)(dot)(dot)
> "Jacky Leng" <lengjianquan(at)163(dot)com> writes:
> > Cann't we remove this param?
>
> No.
>
> > We can rewrite like this:
> > 1.XLogReadBuffer:
> > * remove init;
> > * everytime we cann't read a block, just "log_invalid_page" it, and
return
> > InvalidBuffer;
>
> Your proposal degrades the robustness of the system by turning non-error
> cases into errors. If the caller is able to rewrite the page fully, we
> should not report an error when it's not available to read.

Oh, I see, but how about my second question, is it possible?
If it happens:
1. the second rel's pages' lsn surely is lager than xlog records of the
first rel;
2. so it's possible some xlog record are not redoed;
3. but those pages that can be rewrite fully are rewrited unconditionaly,

If I do a PITR recovery now, is there any trouble?----The file contains both
old rels'data and new rel's.

Am I wrong?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Koichi Suzuki 2007-04-12 01:51:12 Re: [HACKERS] Full page writes improvement, code update
Previous Message Koichi Suzuki 2007-04-12 01:40:04 Re: [HACKERS] Full page writes improvement, code update