[ 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)