package
25.1.0+incompatible
Repository: https://github.com/cockroachdb/cockroach.git
Documentation: pkg.go.dev
# Functions
ComputeInterval returns the provided request's uncertainty interval to be used when evaluating under the specified lease.
# Variables
D0 ————————————————————————————————————————————————
# MVCCKey
Each value in CockroachDB is stored at an associated versioned key.
D1 ————————————————————————————————————————————————
# MVCCValue
At and below the MVCC layer, each roachpb.Value as wrapped with a header that contains MVCC-level metadata.
D2 ————————————————————————————————————————————————
# Transaction.GlobalUncertaintyLimit
A transaction's global uncertainty limit is the inclusive upper bound of its uncertainty interval.
D3 ————————————————————————————————————————————————
# Interval
When the transaction sends a request to a replica, an uncertainty interval is computed.
D4 ————————————————————————————————————————————————
# ReadWithinUncertaintyIntervalError
While reading, if a transaction encounters a value above its read timestamp but equal to or below its global limit, it triggers a read within uncertainty interval error.
D5 ————————————————————————————————————————————————
# ObservedTimestamp
An observed timestamp is a combination of a NodeID and a Timestamp.
D6 ————————————————————————————————————————————————
# Transaction.UpdateObservedTimestamp
A transaction collects observed timestamps as it visits nodes in the cluster when performing reads and writes.
D7 ————————————————————————————————————————————————
# Transaction.ObservedTimestamps
The observed timestamps are collected in a list on the transaction proto.
D8 ————————————————————————————————————————————————
# TimestampFromServerClock
Non-transactional requests that defer their timestamp allocation to the leaseholder of their (single) range also have uncertainty intervals, which ensures that they also guarantee single-key linearizability even with only loose (but bounded) clock synchronization.
D9 ————————————————————————————————————————————————
# ComputeInterval
Observed timestamps allow transactions to avoid uncertainty related restarts because they allow transactions to bound their uncertainty limit when reading on a node which they have previously collected an observed timestamp from.