Details
Description
Currently, snapshot check is performed under the hood during restoring of a snapshot. For big snapshots check operation execution can take a long time.
In such case, if you call two similar commands, they will return different results:
Deprecated command restore --status shows, that snapshot operation is in progress:
Command [SNAPSHOT] started Arguments: --snapshot restore test_snapshot --status -------------------------------------------------------------------------------- Command deprecated. Use '--snapshot status' instead. Snapshot cache group restore operation is running [snapshot=test_snapshot] Command [SNAPSHOT] finished with code: 0
But actual command --snapshot status does not show that any snapshot operation is running:
Command [SNAPSHOT] started Arguments: --snapshot status -------------------------------------------------------------------------------- There is no create or restore snapshot operation in progress. Command [SNAPSHOT] finished with code: 0
VisorSnapshotStatusTask.java rely on snapshot restore metrics[1]. This metrics are extracted from SnapshotRestoreProcess#lastOpCtx [2], which is updated in SnapshotRestoreProcess#prepare [3], but this method called after snapshot check is finished [4, 5].
Here is a reproducer: SnapshotStatusReproducerTest.patch
Links:
- https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/visor/snapshot/VisorSnapshotStatusTask.java#L141
- https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L245
- https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L670
- https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L414
- https://github.com/apache/ignite/blob/a8e16899514348ed7b9404e7d122ed430f8e1acd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreProcess.java#L205
Attachments
Attachments
Issue Links
- Dependency
-
IGNITE-19972 Add metrics of snapshot check
- Open
- incorporates
-
IGNITE-22383 Status and progress of snapshot checking
- Resolved
- relates to
-
IGNITE-19144 Restore snapshot skipCheck mode
- Resolved
- links to