From 71e26f762b713830643d8fda662a181a643d4351 Mon Sep 17 00:00:00 2001 From: Martin Stefcek Date: Thu, 30 Sep 2021 10:08:24 +0200 Subject: [PATCH 1/2] fix: mempool stats reflects unconfirmed pool --- base_layer/core/src/mempool/mempool_storage.rs | 7 +------ base_layer/core/src/mempool/reorg_pool/reorg_pool.rs | 9 --------- .../core/src/mempool/reorg_pool/reorg_pool_storage.rs | 7 ------- 3 files changed, 1 insertion(+), 22 deletions(-) diff --git a/base_layer/core/src/mempool/mempool_storage.rs b/base_layer/core/src/mempool/mempool_storage.rs index d2ccb38dbd..87d09c0695 100644 --- a/base_layer/core/src/mempool/mempool_storage.rs +++ b/base_layer/core/src/mempool/mempool_storage.rs @@ -219,18 +219,13 @@ impl MempoolStorage { Ok(self.unconfirmed_pool.len()) } - // Returns the total weight of all transactions stored in the Mempool. - fn calculate_weight(&self) -> Result { - Ok(self.unconfirmed_pool.calculate_weight() + self.reorg_pool.calculate_weight()?) - } - /// Gathers and returns the stats of the Mempool. pub fn stats(&self) -> Result { Ok(StatsResponse { total_txs: self.len()?, unconfirmed_txs: self.unconfirmed_pool.len(), reorg_txs: self.reorg_pool.len()?, - total_weight: self.calculate_weight()?, + total_weight: self.unconfirmed_pool.calculate_weight(), }) } diff --git a/base_layer/core/src/mempool/reorg_pool/reorg_pool.rs b/base_layer/core/src/mempool/reorg_pool/reorg_pool.rs index 5e0f12856e..f7e803e220 100644 --- a/base_layer/core/src/mempool/reorg_pool/reorg_pool.rs +++ b/base_layer/core/src/mempool/reorg_pool/reorg_pool.rs @@ -132,15 +132,6 @@ impl ReorgPool { .map_err(|e| ReorgPoolError::BackendError(e.to_string()))? .snapshot()) } - - /// Returns the total weight of all transactions stored in the pool. - pub fn calculate_weight(&self) -> Result { - Ok(self - .pool_storage - .write() - .map_err(|e| ReorgPoolError::BackendError(e.to_string()))? - .calculate_weight()) - } } impl Clone for ReorgPool { diff --git a/base_layer/core/src/mempool/reorg_pool/reorg_pool_storage.rs b/base_layer/core/src/mempool/reorg_pool/reorg_pool_storage.rs index c178c33545..112ea96066 100644 --- a/base_layer/core/src/mempool/reorg_pool/reorg_pool_storage.rs +++ b/base_layer/core/src/mempool/reorg_pool/reorg_pool_storage.rs @@ -131,11 +131,4 @@ impl ReorgPoolStorage { pub fn snapshot(&mut self) -> Vec> { self.txs_by_signature.iter().map(|(_, tx)| tx).cloned().collect() } - - /// Returns the total weight of all transactions stored in the pool. - pub fn calculate_weight(&mut self) -> u64 { - self.txs_by_signature - .iter() - .fold(0, |weight, (_, tx)| weight + tx.calculate_weight()) - } } From 70f0e39716cbf84d05f38841b7b3d9980d1ad3ad Mon Sep 17 00:00:00 2001 From: Martin Stefcek Date: Thu, 30 Sep 2021 15:51:30 +0200 Subject: [PATCH 2/2] update mempool stats test --- base_layer/core/tests/mempool.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_layer/core/tests/mempool.rs b/base_layer/core/tests/mempool.rs index 703830822b..011fbf794e 100644 --- a/base_layer/core/tests/mempool.rs +++ b/base_layer/core/tests/mempool.rs @@ -199,7 +199,7 @@ async fn test_insert_and_process_published_block() { assert_eq!(stats.total_txs, 0); assert_eq!(stats.unconfirmed_txs, 0); assert_eq!(stats.reorg_txs, 1); - assert_eq!(stats.total_weight, 30); + assert_eq!(stats.total_weight, 0); } #[tokio::test]