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

YuJue Li updated IGNITE-17613:
------------------------------
    Fix Version/s: 2.15

> Create incremental snapshot
> ---------------------------
>
>                 Key: IGNITE-17613
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17613
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>              Labels: IEP-89, ise
>             Fix For: 2.15
>
>          Time Spent: 5h
>  Remaining Estimate: 0h
>
> Incremental snapshot is a lightweight alternative to full snapshot. It bases 
> on the non-blocking Consistent Cut algorithm and provides a collection of WAL 
> segments that hold logical changes since previous snapshot (full or 
> incremental).
> Incremental snapshot should contain:
>  * compacted WAL segments
>  * meta file with Consistent Cut to restore on
>  * binary_meta if it has changed since previous snapshot.
> Incremental snapshot is stored within full snapshot directory.
> Incremental snapshot before creation checks:
>  * Base snapshot (at least its metafile) exists. Exists metafile for all 
> incremental snapshots.
>  * Validate that no misses in WAL segments since previous snapshot.
>  * Check that new _ConsistentCutVersion_ is greater than version of previous 
> snapshots.
>  * Check that baseline topology and cacheGroups are the same (relatively to 
> base snapshot).
> More info in IEP: 
> [https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211884314]
> ----
> Highlevel process of creation of incremental snapshot(without consistent cut 
> algorithm):
> * Incremental snapshot started with create snapshot command with 
> --incremental flag.
> * Incremental snapshot consists of:
>   ** WAL segments from previous increment snapshot (or full snapshot in case 
> first incremental snapshot).
>   ** Changed binary meta and marshaller files.
>   ** Snapshot metafile
> * Incremental snapshot are placed to 
> {{work/snapshots/mybackup/increments/node01/0001}} folder where
>   ** mybackup - name of the full snapshot. 
>   ** node01 - consistent id of the node.
>   ** 0001, 0002, etc - number of incremental snapshot.
> * Incremental snapshot creation consists of the following actions executed on 
> each node. The whole process orchestrated by the {{DistributedProcess}} in 
> the same manner as the full snapshot creation:
>   ** creation of the snapshot folder
>   ** awaits while required WAL segments will be archived
>   ** copy (hard-linked) required WAL segments to the incremental snapshot 
> folder.
>   ** creates snapshot metafile.
> * Failover guarantees (remove partially created snapshot, etc) should be the 
> same as for the full snapshot.
> * Removal of the full snapshot must also removes all the incremental snapshot 
> based on the full one.
> * Removal of the incremental snapshot may be done only for the last one. If 
> there are next incremental snapshot (0003, for example) then removal of any 
> previous (0001 or 0002) must be restricted.



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

Reply via email to