Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

topVer is topology version on node initiator before Incremental Snapshot starts.


Signing messages

On the picture below on left side is a diagram of sending transaction messages. Before sending message it checks whether cut is running with cutMarker(). If it is then wrap message, otherwise send ordinary message (PrepareRequest in example).

Image Added


Ignite transaction protocol includes multiple messages. But only some of them affects meaningful (relating to the algorithm) that change state of transactions (PREPARED, COMMITTED):

...

Those messages are wrapped in ConsistentCutMarkerMessage MarkerMessage  that is prepared right before sending message on other node. They used the current ConsistentCutMarker for setting the marker.

Code Block
languagejava
titleConsistentCutMarkerMessage
class ConsistentCutMarkerMessageMarkerMessage {
	Message msg;

	ConsistentCutMarker marker;
}

...

Those messages are wrapped in ConsistentCutMarkerFinishMessage TransactionFinishMarkerMessage  that is prepared right before transaction starts committing on first committing node. They used the current ConsistentCutMarker  for setting the txMarker . txMarker  can be null, if transaction starts committing before ConsistentCut starts.

Code Block
languagejava
titleConsistentCutMarkerFinishMessage
class ConsistentCutMarkerFinishMessageTransactionFinishMarkerMessage extends ConsistentCutMarkerMessageMarkerMessage {
    @Nullable ConsistentCutMarker txMarker;
}

...