public class ConflictChecker
extends Object
Currently, the support is to allow blind appends. Later on this can be extended to add support for read-after-write scenarios.
| Modifier and Type | Class and Description |
|---|---|
static class |
ConflictChecker.TransactionRebaseState
Class containing the rebase state from winning transactions that the current transaction needs
to rebase against before attempting the commit.
|
| Modifier and Type | Method and Description |
|---|---|
ConflictChecker.TransactionRebaseState |
resolveConflicts(Engine engine) |
static ConflictChecker.TransactionRebaseState |
resolveConflicts(Engine engine,
SnapshotImpl snapshot,
long attemptVersion,
TransactionImpl transaction)
Resolve conflicts between the losing transaction and the winning transactions and return a
rebase state that the losing transaction needs to rebase against before attempting the commit.
|
public static ConflictChecker.TransactionRebaseState resolveConflicts(Engine engine, SnapshotImpl snapshot, long attemptVersion, TransactionImpl transaction) throws ConcurrentWriteException
engine - Engine instance to usesnapshot - SnapshotImpl of the table when the losing transaction has startedtransaction - TransactionImpl that encountered the conflict (a.k.a the losing
transaction)ConflictChecker.TransactionRebaseState that the losing transaction needs to rebase againstConcurrentWriteException - if there are logical conflicts between the losing transaction
and the winning transactions that cannot be resolved.public ConflictChecker.TransactionRebaseState resolveConflicts(Engine engine) throws ConcurrentWriteException
ConcurrentWriteException