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

Maksim Timonin updated IGNITE-19567:
------------------------------------
    Description: 
1.start a node with consistentId A;

2.insert some data;

3../control.sh --snapshot create full

4.kill A;

5.start a node with consistentId B;

6../control.sh --snapshot restore full.

this is OK.

But, if an incremental snapshot is created, an error will be reported during 
recovery:

1.start a node with consistentId A;

2.insert some data;

3../control.sh --snapshot create full --incremental

4.kill A;

5.start a node with consistentId B;

6../control.sh --snapshot restore full --increment 1.

There is a wrong check. It verifies that increments match the full snapshot. 
But instead of getting consistentId from the full snapshot metafile, it gets it 
from the local node.

 

---

There is a wrong check. It verifies that increments match the full snapshot. 
But instead of getting consistentId from the full snapshot metafile, it gets it 
from the local node.
 

Possible solutions is:
 # Calculate affinity assignment basing on existing snapshot data (partitions)
 # Validate that this affinity is correct
 # Check that local snapshot and incremental snapshots match
 # Restore incremental snapshot in this case.

Can be implemented on SnapshotRestoreProcess#preload state. 

 

  was:
1.start a node with consistentId A;

2.insert some data;


3../control.sh --snapshot create full


4.kill A;

5.start a node with consistentId B;

6../control.sh --snapshot restore full.

this is OK.

But, if an incremental snapshot is created, an error will be reported during 
recovery:


1.start a node with consistentId A;

2.insert some data;


3../control.sh --snapshot create full --incremental


4.kill A;

5.start a node with consistentId B;

6../control.sh --snapshot restore full --increment 1.

There is a wrong check. It verifies that increments match the full snapshot. 
But instead of getting consistentId from the full snapshot metafile, it gets it 
from the local node.
 


> Wrong consistentId is used for verifying incremental snapshot
> -------------------------------------------------------------
>
>                 Key: IGNITE-19567
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19567
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.15
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>              Labels: IEP-89
>             Fix For: 2.16
>
>
> 1.start a node with consistentId A;
> 2.insert some data;
> 3../control.sh --snapshot create full
> 4.kill A;
> 5.start a node with consistentId B;
> 6../control.sh --snapshot restore full.
> this is OK.
> But, if an incremental snapshot is created, an error will be reported during 
> recovery:
> 1.start a node with consistentId A;
> 2.insert some data;
> 3../control.sh --snapshot create full --incremental
> 4.kill A;
> 5.start a node with consistentId B;
> 6../control.sh --snapshot restore full --increment 1.
> There is a wrong check. It verifies that increments match the full snapshot. 
> But instead of getting consistentId from the full snapshot metafile, it gets 
> it from the local node.
>  
> ---
> There is a wrong check. It verifies that increments match the full snapshot. 
> But instead of getting consistentId from the full snapshot metafile, it gets 
> it from the local node.
>  
> Possible solutions is:
>  # Calculate affinity assignment basing on existing snapshot data (partitions)
>  # Validate that this affinity is correct
>  # Check that local snapshot and incremental snapshots match
>  # Restore incremental snapshot in this case.
> Can be implemented on SnapshotRestoreProcess#preload state. 
>  



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

Reply via email to