From e3f2bbf90b55032d1de79abd13fdc55013508d91 Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Fri, 3 Oct 2025 17:35:42 +0200 Subject: [PATCH] core/mvcc: remove unnecessary fields in CommitState::Checkpoint --- core/mvcc/database/mod.rs | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/core/mvcc/database/mod.rs b/core/mvcc/database/mod.rs index 09c7c233c..f00690aff 100644 --- a/core/mvcc/database/mod.rs +++ b/core/mvcc/database/mod.rs @@ -327,7 +327,6 @@ pub enum CommitState { end_ts: u64, }, Checkpoint { - end_ts: u64, state_machine: RefCell>>, }, CommitEnd { @@ -640,19 +639,6 @@ impl StateTransition for CommitStateMachine { } } - CommitState::Checkpoint { - end_ts, - state_machine, - } => { - match state_machine.borrow_mut().step(&())? { - IOResult::Done(_) => {} - IOResult::IO(iocompletions) => { - return Ok(TransitionResult::Io(iocompletions)); - } - } - self.finalize(mvcc_store)?; - return Ok(TransitionResult::Done(())); - } CommitState::SyncLogicalLog { end_ts } => { let c = mvcc_store.storage.sync()?; self.state = CommitState::EndCommitLogicalLog { end_ts: *end_ts }; @@ -719,16 +705,23 @@ impl StateTransition for CommitStateMachine { false, )); let state_machine = RefCell::new(state_machine); - self.state = CommitState::Checkpoint { - end_ts: *end_ts, - state_machine, - }; + self.state = CommitState::Checkpoint { state_machine }; return Ok(TransitionResult::Continue); } tracing::trace!("logged(tx_id={}, end_ts={})", self.tx_id, *end_ts); self.finalize(mvcc_store)?; Ok(TransitionResult::Done(())) } + CommitState::Checkpoint { state_machine } => { + match state_machine.borrow_mut().step(&())? { + IOResult::Done(_) => {} + IOResult::IO(iocompletions) => { + return Ok(TransitionResult::Io(iocompletions)); + } + } + self.finalize(mvcc_store)?; + return Ok(TransitionResult::Done(())); + } } } @@ -2178,13 +2171,7 @@ impl Debug for CommitState { .debug_struct("SyncLogicalLog") .field("end_ts", end_ts) .finish(), - Self::Checkpoint { - end_ts, - state_machine: _, - } => f - .debug_struct("Checkpoint") - .field("end_ts", end_ts) - .finish(), + Self::Checkpoint { state_machine: _ } => f.debug_struct("Checkpoint").finish(), Self::CommitEnd { end_ts } => { f.debug_struct("CommitEnd").field("end_ts", end_ts).finish() }