[ 
https://issues.apache.org/jira/browse/IGNITE-17215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Timonin updated IGNITE-17215:
------------------------------------
    Description: 
For PITR [1] process of recovering based on ClusterSnapshot + archived WALs.

It's required to have a point in WAL which splits whole WAL on 2 areas:
 # Before this point all data changes are contained within ClusterSnapshot, and 
no need to recover them from WAL archived files.
 # After this point all data need to be recovered from WAL archived files.

It's proposed to write ClusterSnapshotRecord while the checkpoint is running 
(cp#writeLock has acquired). ClusterSnapshot process guarantees:
 # there is no active transactions (or any data changes) in moment of running 
checkpoint.
 # ClusterSnapshot contains all data pages that will be persisted within this 
checkpoint process.

Then every logical record after begin CheckointRecord doesn't belong to 
ClusterSnapshot. Then it's safe to write ClusterSnapshotRecord within the 
checkpoint process.

[1] [https://cwiki.apache.org/confluence/pages/editpage.action?pageId=211884314]

  was:
For PITR [1] process of recovering based on ClusterSnapshot + archived WALs.

It's required to have a point in WAL which splits whole WAL on 2 areas:
 # Before this point all data changes are contained within ClusterSnapshot, and 
no need to recover them from WAL archived files.
 # After this point all data need to be recovered from WAL archived files.

It's proposed to write ClusterSnapshotRecord at the moment checkpoint process 
starts (cp#writeLock has acquired). ClusterSnapshot process guarantees:
 # there is no active transactions (or any data changes) in moment of writing 
begin CheckpointRecord.
 # ClusterSnapshot consist of data pages that are materialized within this 
checkpoint process.

Then every logical record after begin CheckointRecord doesn't belong to 
ClusterSnapshot. Then it's safe to write ClusterSnapshotRecord align with 
CheckpointRecord.

 

[1] [https://cwiki.apache.org/confluence/pages/editpage.action?pageId=211884314]


> Write ClusterSnapshotRecord to WAL
> ----------------------------------
>
>                 Key: IGNITE-17215
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17215
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>              Labels: IEP-89
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> For PITR [1] process of recovering based on ClusterSnapshot + archived WALs.
> It's required to have a point in WAL which splits whole WAL on 2 areas:
>  # Before this point all data changes are contained within ClusterSnapshot, 
> and no need to recover them from WAL archived files.
>  # After this point all data need to be recovered from WAL archived files.
> It's proposed to write ClusterSnapshotRecord while the checkpoint is running 
> (cp#writeLock has acquired). ClusterSnapshot process guarantees:
>  # there is no active transactions (or any data changes) in moment of running 
> checkpoint.
>  # ClusterSnapshot contains all data pages that will be persisted within this 
> checkpoint process.
> Then every logical record after begin CheckointRecord doesn't belong to 
> ClusterSnapshot. Then it's safe to write ClusterSnapshotRecord within the 
> checkpoint process.
> [1] 
> [https://cwiki.apache.org/confluence/pages/editpage.action?pageId=211884314]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to