From e2a78ab8e84dfe2753a6dddb0c537a074712aef0 Mon Sep 17 00:00:00 2001 From: Shuo Wang Date: Wed, 18 Sep 2024 06:45:29 -0700 Subject: [PATCH] align commit_and_certify with on_synced_checkpoint --- rs/state_manager/src/lib.rs | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/rs/state_manager/src/lib.rs b/rs/state_manager/src/lib.rs index 273e1a55ec3..83f7da47790 100644 --- a/rs/state_manager/src/lib.rs +++ b/rs/state_manager/src/lib.rs @@ -3464,18 +3464,6 @@ impl StateManager for StateManagerImpl { .certifications_metadata .insert(height, certification_metadata); - if let Some((state_metadata, compute_manifest_request)) = - state_metadata_and_compute_manifest_request - { - states.states_metadata.insert(height, state_metadata); - debug_assert!(self.tip_channel.len() <= 1); - self.tip_channel - .send(compute_manifest_request) - .expect("failed to send ComputeManifestRequest message"); - } else { - debug_assert!(scope != CertificationScope::Full); - } - let latest_height = update_latest_height(&self.latest_state_height, height); self.metrics.max_resident_height.set(latest_height as i64); { @@ -3491,6 +3479,23 @@ impl StateManager for StateManagerImpl { } } + if let Some((state_metadata, compute_manifest_request)) = + state_metadata_and_compute_manifest_request + { + let metadata = states + .states_metadata + .entry(height) + .or_insert(state_metadata); + debug_assert!(self.tip_channel.len() <= 1); + if metadata.bundled_manifest.is_none() { + self.tip_channel + .send(compute_manifest_request) + .expect("failed to send ComputeManifestRequest message"); + } + } else { + debug_assert!(scope != CertificationScope::Full); + } + self.metrics .resident_state_count .set(states.snapshots.len() as i64);