...
PartitionsExchangeAware#onDoneBeforeTopologyUnlock
IgniteSnapshotManager#onDoneBeforeTopologyUnlock
SnapshotFutureTask#start
...
In-memory caches store pages in configured DataRegion
. Page for specific cache group allocated in some Segment
of data region.
So, unlike persistent caches it more convinient and error-prone to create snapshot of the DataRegion with all caches in it.
During creation of snapshot node must track all page changes which can be implemented by the listener of write locks in PageMemoryNoStoreImpl
.
Currently, IgnitePageStoreManager
in GridCacheSharedContext
is null for in-memory caches.
It required to provide the way to track in-memory page writes and implement logic similar to PageStoreSerialWriter
for in-memory caches.
...
CRC for each page must be calculated and written to snapshot metadata during snapshotting.
CRC must be checked during restore.
...
...
The same value must be for DataRegionConfiguration when cache group restored from in-memory snapshot.
After this feature implemented PageIO
will require to be backward compatible.
// Links to discussions on the devlist, if applicable.
...