From: | Thunder <thunder1(at)126(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re:Re: Optimize crash recovery |
Date: | 2020-03-13 16:22:16 |
Message-ID: | 7136498.80c4.170d4b4155a.Coremail.thunder1@126.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
For example, if page lsn in storage is 0x90000 and start to replay from 0x10000.
If 0x10000 is full-page xlog record, then we can ignore to replay xlog between 0x10000~0x90000 for this page.
Is there any correct issue if the page exists in the buffer pool and ignore to replay for full-page or init page if page lsn is larger than the lsn of xlog record?
At 2020-03-13 23:41:03, "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com> wrote:
>On 2020-Mar-13, Thunder wrote:
>
>> Hello hackers:
>>
>>
>> During crash recovery, we compare most of the lsn of xlog record with page lsn to determine if the record has already been replayed.
>> The exceptions are full-page and init-page xlog records.
>> It's restored if the xlog record includes a full-page image of the page.
>> And it initializes the page if the xlog record include init page information.
>>
>>
>> When we enable checksum for the page and verify page success, can we
>> compare the page lsn with the lsn of full-page xlog record or init
>> page xlog record to detemine it has already been replayed?
>
>In order to verify that the checksum passes, you have to read the page
>first. So what are you optimizing?
>
>--
>Álvaro Herrera https://www.2ndQuadrant.com/
>PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Julien Rouhaud | 2020-03-13 16:25:20 | Re: Add an optional timeout clause to isolationtester step. |
Previous Message | Asif Rehman | 2020-03-13 16:21:09 | Re: WIP/PoC for parallel backup |