Re:Re: Optimize crash recovery

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

In response to

Responses

Browse pgsql-hackers by date

  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