Expand description
Transaction-completion fencing after the EndTxn marker fan-out.
Structs§
- Transaction
Identity - A producer identity captured before marker fan-out.
- Transaction
Marker Partition State - The partition’s latest producer state for the marker’s producer ID.
- Transaction
Marker Request - One transaction marker as it reaches one data partition.
- Transaction
Registration Facts - Facts used to fence one transaction partition registration.
- Transaction
Registration Identity Facts - Transaction
Registration Identity Match Facts - Transaction
Registration Ownership Facts - Transaction
Registration State Facts - Transaction
Snapshot - The persisted identity and state observed after marker fan-out.
Enums§
- Idle
Transaction State - State fact needed by the idle-transaction reaper.
- Init
Producer IdIdentity Decision - What
InitProducerIddoes with the producer identity a caller supplies. - LogBatch
Kind - Classification of the actual first control-record key, shared by live append and recovery. Versions are ignored as in Kafka’s marker type parser.
- Transaction
Completion Decision - Whether an
EndTxncaller may finalize the entry it prepared. - Transaction
Marker Materialization Decision - Whether one transaction marker may append and publish committed offsets.
- Transaction
PidInstall Decision - Whether one transaction record may install its live producer identities.
- Transaction
Reaper Completion Decision - Whether the idle reaper or the completion task may publish one prepared completion.
- Transaction
Registration Decision - Whether one transaction generation may persist a partition registration.
Constants§
- EXHAUSTED_
PRODUCER_ EPOCH - The epoch at and above which Kafka treats a producer epoch as exhausted
(
TransactionMetadata.isEpochExhausted). - NO_
TRANSACTION_ TIMEOUT_ MS - Sentinel persisted for a transaction controlled by an external 2PC owner.
Functions§
- aborted_
transaction_ interval - Construct one aborted transaction’s inclusive interval only from a live, nonnegative producer and ordered marker bounds.
- aborted_
transaction_ overlaps - Whether a valid inclusive aborted interval intersects a nonempty half-open Fetch range.
- first_
unstable_ offset - Select the first unstable transaction offset, or the log end when no transaction is open. A pending start beyond the log end is rejected.
- init_
producer_ id_ identity_ decision - What an
InitProducerIdcaller’s producer identity may do to the entry it names (KIP-360). - log_
batch_ kind - next_
producer_ identity - Choose the producer identity exposed after transaction completion.
- should_
abort_ idle_ transaction - Whether the idle reaper may abort one persisted transaction.
- transaction_
completion_ decision - Revalidate the transaction entry after the marker fan-out released its lock.
- transaction_
marker_ closes - A valid COMMIT or ABORT marker closes state only for its matching pending producer.
- transaction_
marker_ equal_ epoch_ fenced - Transaction version 2 requires an epoch bump for a pending transaction’s marker, except at the final marker epoch. Completed retries remain allowed.
- transaction_
marker_ materialization_ decision - Fence a transaction marker against the partition’s latest producer and
coordinator generations, suppress an exact completed retry, and publish
offsets only for a pending commit on
__consumer_offsets. - transaction_
partition_ registration - Fence a partition registration against coordinator ownership and one exact transactional-id, producer-id, and producer-epoch generation.
- transaction_
pid_ install_ decision - Admit only a well-formed, uniquely owned producer-ID pair from the transaction log partition selected by its transactional ID.
- transaction_
reaper_ completion_ decision - Recheck a prepared snapshot after the abort- or commit-marker fan-out.
- unique_
aborted_ transaction_ rows - Preserve every distinct wire
(producer_id, first_offset)row exactly once. The caller has already selected the overlapping transactions.