Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
anton-vinogradov committed Sep 29, 2023
1 parent 23d1884 commit 412a786
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,6 @@ public enum CacheAtomicityMode {
/**
* Enables fully {@code ACID}-compliant transactional cache behavior for the key-value API.
* <p>
* <b>Note!</b> In this mode, transactional consistency is guaranteed for key-value API operations only.
* To enable ACID capabilities for SQL transactions, use the {@code TRANSACTIONAL_SNAPSHOT} mode.
* <p>
* <b>Note!</b> This atomicity mode is not compatible with the other modes within the same transaction.
* if a transaction is executed over multiple caches, all caches must have the same atomicity mode,
* either {@code TRANSACTIONAL_SNAPSHOT} or {@code TRANSACTIONAL}.
* <p>
* See {@link Transaction} for more information about transactions.
*/
TRANSACTIONAL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,6 @@ public enum CacheAtomicityMode
{
/// <summary>
/// Specifies fully ACID-compliant transactional cache behavior.
/// <para />
/// <b>Note!</b> In this mode, transactional consistency is guaranteed for key-value API operations only.
/// To enable ACID capabilities for SQL transactions, use TRANSACTIONAL_SNAPSHOT mode.
/// <para />
/// <b>Note!</b> This atomicity mode is not compatible with the other atomicity modes within the same transaction.
/// If a transaction is executed over multiple caches, all caches must have the same atomicity mode,
/// either TRANSACTIONAL_SNAPSHOT or TRANSACTIONAL.
/// </summary>
Transactional,

/// <summary>
Expand All @@ -57,30 +49,6 @@ public enum CacheAtomicityMode
/// Also note that all data modifications in <see cref="Atomic"/> mode are guaranteed to be atomic
/// and consistent with writes to the underlying persistent store, if one is configured.
/// </summary>
Atomic,

/// <summary>
/// This is an experimental feature. Transactional SQL is currently in a beta status.
/// <para/>
/// Specifies fully ACID-compliant transactional cache behavior for both key-value API and SQL transactions.
/// <para/>
/// This atomicity mode enables multiversion concurrency control (MVCC) for the cache. In MVCC-enabled caches,
/// when a transaction updates a row, it creates a new version of that row instead of overwriting it.
/// Other users continue to see the old version of the row until the transaction is committed.
/// In this way, readers and writers do not conflict with each other and always work with a consistent dataset.
/// The old version of data is cleaned up when it's no longer accessed by anyone.
/// <para />
/// With this mode enabled, one node is elected as an MVCC coordinator. This node tracks all in-flight transactions
/// and queries executed in the cluster. Each transaction or query executed over the cache with
/// TRANSACTIONAL_SNAPSHOT mode works with a current snapshot of data generated for this transaction or query
/// by the coordinator. This snapshot ensures that the transaction works with a consistent database state
/// during its execution period.
/// <para />
/// <b>Note!</b> This atomicity mode is not compatible with the other atomicity modes within the same transaction.
/// If a transaction is executed over multiple caches, all caches must have the same atomicity mode,
/// either TRANSACTIONAL_SNAPSHOT or TRANSACTIONAL.
/// </summary>
[IgniteExperimental]
TransactionalSnapshot
Atomic
}
}

0 comments on commit 412a786

Please sign in to comment.