...
Message
- transaction message (...FinishRequest
for 2PC, ...PrepareResponse
for 1PC)Channel
- TCP communication connection from one node to another, by that the Messages is sent.ChannelState
- for single channel it's a set of Messages that was sent, but not committed yet on receiver.IncrementalSnapshot
- on Ignite node it is represented with 2 WAL records (ConsistentCutStartRecord
commits the WAL state, ConsistentCutFinishRecord
describes the ChannelState
). It guarantees that every node in cluster includes in the snapshot:ConsistentCutStartRecord
and weren't included into ConsistentCutFinishRecord#after()
;ConsistentCutStartRecord
and ConsistentCutFinishRecord and were included into ConsistentCutFinishRecord#before()
.Marker
- mark that piggy backs on the Message, and notifies a node about running snapshot.After I
S start and before finish all PrepareRequest
, FinishRequest
are wrapper by ConsistentCutMarkerMessage
instead of regular Message
. This is done to notify target node via communication channel about running IS
.
In terms of Ignite, there are additional definitions:
Consistent Cut
- Successful attempt of creating IncrementalSnapshot.Inconsistent Cut
- Failed attempt of creating a IncrementalSnapshot, due to inability to correctly describe a ChannelState
.Note, ConsistentCut
can't guarantee that specific transaction that runs concurrently with the algorithm will land before or after cut, it only guarantees that set of the transactions before(or after) the cut will be the same on the each node in cluster.
...