From b16abe23035445406fefe4c5a978ac737c8edd63 Mon Sep 17 00:00:00 2001 From: Peilun Li Date: Thu, 10 Oct 2024 19:01:20 +0800 Subject: [PATCH] fix. --- Cargo.toml | 6 +++++- common/append_merkle/src/lib.rs | 6 ++++-- node/storage/src/log_store/log_manager.rs | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 270c70d..9a8a679 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,4 +36,8 @@ eth2_ssz = { path = "version-meld/eth2_ssz" } enr = { path = "version-meld/enr" } [profile.bench.package.'storage'] -debug = true \ No newline at end of file +debug = true + +[profile.dev] +# enabling debug_assertions will make node fail to start because of checks in `clap`. +debug-assertions = false \ No newline at end of file diff --git a/common/append_merkle/src/lib.rs b/common/append_merkle/src/lib.rs index 80e2f1a..bfbf1b5 100644 --- a/common/append_merkle/src/lib.rs +++ b/common/append_merkle/src/lib.rs @@ -556,7 +556,7 @@ impl> AppendMerkleTree { .ok_or_else(|| anyhow!("tx_seq unavailable, root={:?}", tx_seq))? .clone(); // Dropping the upper layers that are not in the old merkle tree. - for height in (self.height() - 1)..=delta_nodes.right_most_nodes.len() { + for height in (delta_nodes.right_most_nodes.len()..(self.height() - 1)).rev() { self.node_manager.truncate_layer(height); } for (height, (last_index, right_most_node)) in @@ -592,13 +592,15 @@ impl> AppendMerkleTree { } pub fn reset(&mut self) { - for height in (self.height() - 1)..=0 { + for height in (0..self.height()).rev() { self.node_manager.truncate_layer(height); } if let Some(depth) = self.min_depth { for _ in 0..depth { self.node_manager.add_layer(); } + } else { + self.node_manager.add_layer(); } } diff --git a/node/storage/src/log_store/log_manager.rs b/node/storage/src/log_store/log_manager.rs index 32c6d3e..2d07ef9 100644 --- a/node/storage/src/log_store/log_manager.rs +++ b/node/storage/src/log_store/log_manager.rs @@ -94,6 +94,7 @@ impl MerkleManager { } fn revert_merkle_tree(&mut self, tx_seq: u64, tx_store: &TransactionStore) -> Result<()> { + debug!("revert merkle tree {}", tx_seq); // Special case for reverting tx_seq == 0 if tx_seq == u64::MAX { self.pora_chunks_merkle.reset();