Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
We need last applied index, term and group config to build a snapshot meta. In the current implementation, only the index is stored our storages (MV and TX), but term and config are taken from JRaft's LogManager. This is unreliable as the log might be truncated.
We must store term and config in our storages as well (term in both of them as it is kinda required attribute of a RAFT index, and group only in MV storage).
Also, we must make sure that on ANY command processed by PartitionListener (and on configuration committed event, too), we update lastAppliedIndex+term in one of the storages, Otherwise, a resulting gap might hinder AppendEntries calls to followers requiring to install a snapshot in an infinite loop.
Attachments
Issue Links
- is caused by
-
IGNITE-18079 Integrate RAFT streaming snapshots
- Resolved
- supercedes
-
IGNITE-18011 Avoid obtaining LogManager to stream RAFT snapshots
- Resolved
- links to