pub struct TransactionLog { /* private fields */ }Expand description
Durable transaction log for the coordinator
Stores coordinator decisions to enable crash recovery with presumed abort semantics.
Implementations§
Source§impl TransactionLog
impl TransactionLog
Sourcepub fn log_decision(
&mut self,
tx_id: &TransactionId,
decision: CoordinatorDecision,
participants: &[String],
)
pub fn log_decision( &mut self, tx_id: &TransactionId, decision: CoordinatorDecision, participants: &[String], )
Log a coordinator decision
Sourcepub fn update_decision(
&mut self,
tx_id: &TransactionId,
decision: CoordinatorDecision,
)
pub fn update_decision( &mut self, tx_id: &TransactionId, decision: CoordinatorDecision, )
Update an existing decision
Sourcepub fn get_decision(&self, tx_id: &TransactionId) -> Option<CoordinatorDecision>
pub fn get_decision(&self, tx_id: &TransactionId) -> Option<CoordinatorDecision>
Get the decision for a transaction
Sourcepub fn get_entry(&self, tx_id: &TransactionId) -> Option<&TransactionLogEntry>
pub fn get_entry(&self, tx_id: &TransactionId) -> Option<&TransactionLogEntry>
Get an entry by transaction ID
Sourcepub fn entries(&self) -> &[TransactionLogEntry]
pub fn entries(&self) -> &[TransactionLogEntry]
Get all entries
Sourcepub fn get_pending_for_recovery(
&self,
) -> (Vec<&TransactionLogEntry>, Vec<&TransactionLogEntry>)
pub fn get_pending_for_recovery( &self, ) -> (Vec<&TransactionLogEntry>, Vec<&TransactionLogEntry>)
Get transactions that need recovery action.
Returns a tuple of committed and to-abort entries:
- Committed: need to re-send commit
- To abort: were in PREPARING state (presumed abort)
Sourcepub fn prune_completed(&mut self, tx_ids: &[TransactionId])
pub fn prune_completed(&mut self, tx_ids: &[TransactionId])
Remove completed transactions from the log
Trait Implementations§
Source§impl Debug for TransactionLog
impl Debug for TransactionLog
Auto Trait Implementations§
impl Freeze for TransactionLog
impl RefUnwindSafe for TransactionLog
impl Send for TransactionLog
impl Sync for TransactionLog
impl Unpin for TransactionLog
impl UnwindSafe for TransactionLog
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.