Versions Compared

Key

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

...

Nevertheless, the atomic protocol implementaion implementation in Ignite 2.x had multiple flaws - absence of atomicity for batch operations (de facto atomicity per key), best effort consistency, side effects during retries on non-idempotent operations, the presence of PartialUpdateException for manual retries when automatic is not possible. Moreover, if a cache was created in ATOMIC mode, no transaction can be run on it due to protocols incompatibility.

...

New transaction protocol will work faster for single partition batches, allowing to commit as soon as all entries are replicated, and eliminating performance issues related to coordination overhead, making atomic protocol obsolete.

Initial data loading

A special case of initial data loading is worth mentioning. This scenario must be executed as fast as possible, so a cache can be moved to special state, allowing it to use other protocol for initial data loading with weaker guarantees, disallowing concurrent transactions during the process.

Separating replication and 2PC for transactional caches

...