pub struct AgentCommitPrimaryRequest {
pub primary_cf: u32,
pub primary_key: Vec<u8>,
pub fence: u64,
pub commit_ts: u64,
pub participants: Vec<CrossShardTxnWrite>,
pub start_ts: u64,
}Expand description
The commit point: CAS the primary TxnStatus Prewritten->Committed at commit_ts,
gated IfSeqEquals(fence). A coordinator that lost its lease (the per-key seq
advanced past fence) is rejected (#784/#894).
Fields§
§primary_cf: u32CF of the primary key
primary_key: Vec<u8>the txn’s primary key (holds the single commit point)
fence: u64primary claim’s fencing token (gates the CAS)
commit_ts: u64HLC commit_ts (packed u64)
participants: Vec<CrossShardTxnWrite>The participants (cf, key, delete-op) the txn prewrote, recorded on the status
so a resolver can finish any secondary the coordinator didn’t roll forward —
each participant’s delete flag records its op so the resolver can decide
put-vs-tombstone without consulting the (possibly reaped) lock (#1626).
start_ts: u64The txn’s HLC start_ts (packed u64), recorded so a resolver can locate each participant’s staged value after the prewrite lock TTL-expired (#1626).
Trait Implementations§
Source§impl Clone for AgentCommitPrimaryRequest
impl Clone for AgentCommitPrimaryRequest
Source§fn clone(&self) -> AgentCommitPrimaryRequest
fn clone(&self) -> AgentCommitPrimaryRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentCommitPrimaryRequest
impl Debug for AgentCommitPrimaryRequest
Source§impl Default for AgentCommitPrimaryRequest
impl Default for AgentCommitPrimaryRequest
Source§impl Message for AgentCommitPrimaryRequest
impl Message for AgentCommitPrimaryRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.impl StructuralPartialEq for AgentCommitPrimaryRequest
Auto Trait Implementations§
impl Freeze for AgentCommitPrimaryRequest
impl RefUnwindSafe for AgentCommitPrimaryRequest
impl Send for AgentCommitPrimaryRequest
impl Sync for AgentCommitPrimaryRequest
impl Unpin for AgentCommitPrimaryRequest
impl UnsafeUnpin for AgentCommitPrimaryRequest
impl UnwindSafe for AgentCommitPrimaryRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request