From 8e7528304eeb312728e1e67668aadc8fd861cb8d Mon Sep 17 00:00:00 2001 From: Bo Wu Date: Mon, 10 Jun 2024 15:30:23 -0700 Subject: [PATCH 1/3] return none if non exist --- Cargo.lock | 16 ++++++++-------- api/types/src/convert.rs | 3 +-- storage/aptosdb/src/db/aptosdb_test.rs | 4 ++-- .../aptosdb/src/db/include/aptosdb_reader.rs | 4 ++-- .../ledger_db/transaction_auxiliary_data_db.rs | 17 +++++------------ storage/storage-interface/src/lib.rs | 2 +- 6 files changed, 19 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 31a2e67a1cda8..bbbe97ba596e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9172,9 +9172,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" dependencies = [ "console", "instant", @@ -12597,9 +12597,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" dependencies = [ "proc-macro2", "syn 2.0.48", @@ -13749,9 +13749,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.2" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" dependencies = [ "log", "ring 0.17.7", @@ -14051,7 +14051,7 @@ version = "0.39.0" source = "git+https://github.com/banool/self_update.git?rev=8306158ad0fd5b9d4766a3c6bf967e7ef0ea5c4b#8306158ad0fd5b9d4766a3c6bf967e7ef0ea5c4b" dependencies = [ "hyper", - "indicatif 0.17.8", + "indicatif 0.17.7", "log", "quick-xml 0.23.1", "regex", @@ -15508,7 +15508,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ - "rustls 0.22.2", + "rustls 0.22.4", "rustls-pki-types", "tokio", ] diff --git a/api/types/src/convert.rs b/api/types/src/convert.rs index 45c29f535d80b..5ea5cd68bfb5a 100644 --- a/api/types/src/convert.rs +++ b/api/types/src/convert.rs @@ -179,8 +179,7 @@ impl<'a, S: StateView> MoveConverter<'a, S> { use aptos_types::transaction::Transaction::*; let aux_data = self .db - .get_transaction_auxiliary_data_by_version(data.version) - .ok(); + .get_transaction_auxiliary_data_by_version(data.version)?; let info = self.into_transaction_info( data.version, &data.info, diff --git a/storage/aptosdb/src/db/aptosdb_test.rs b/storage/aptosdb/src/db/aptosdb_test.rs index 4bf735c2fd8c0..c85b823b42558 100644 --- a/storage/aptosdb/src/db/aptosdb_test.rs +++ b/storage/aptosdb/src/db/aptosdb_test.rs @@ -164,11 +164,11 @@ fn test_get_transaction_auxiliary_data() { put_transaction_auxiliary_data(&db, 0, &txns); assert_eq!( db.get_transaction_auxiliary_data_by_version(0).unwrap(), - aux_1 + Some(aux_1) ); assert_eq!( db.get_transaction_auxiliary_data_by_version(1).unwrap(), - aux_2 + Some(aux_2) ); } diff --git a/storage/aptosdb/src/db/include/aptosdb_reader.rs b/storage/aptosdb/src/db/include/aptosdb_reader.rs index e788246015d52..c8d211d53d416 100644 --- a/storage/aptosdb/src/db/include/aptosdb_reader.rs +++ b/storage/aptosdb/src/db/include/aptosdb_reader.rs @@ -36,7 +36,7 @@ impl DbReader for AptosDB { fn get_transaction_auxiliary_data_by_version( &self, version: Version, - ) -> Result { + ) -> Result> { gauged_api("get_transaction_auxiliary_data_by_version", || { self.error_if_ledger_pruned("Transaction", version)?; self.ledger_db @@ -256,7 +256,7 @@ impl DbReader for AptosDB { let events = self.ledger_db.event_db().get_events_by_version(version)?; let write_set = self.ledger_db.write_set_db().get_write_set(version)?; let txn = self.ledger_db.transaction_db().get_transaction(version)?; - let auxiliary_data = self.ledger_db.transaction_auxiliary_data_db().get_transaction_auxiliary_data(version).unwrap_or_default(); + let auxiliary_data = self.ledger_db.transaction_auxiliary_data_db().get_transaction_auxiliary_data(version)?.unwrap_or_default(); let txn_output = TransactionOutput::new( write_set, events, diff --git a/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs b/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs index a1a51cd040855..79245199ddcf4 100644 --- a/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs +++ b/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs @@ -8,8 +8,8 @@ use crate::{ }, utils::iterators::ExpectContinuousVersions, }; -use aptos_schemadb::{ReadOptions, SchemaBatch, DB}; -use aptos_storage_interface::{AptosDbError, Result}; +use aptos_schemadb::{SchemaBatch, DB}; +use aptos_storage_interface::Result; use aptos_types::transaction::{TransactionAuxiliaryData, Version}; use std::{path::Path, sync::Arc}; @@ -45,15 +45,8 @@ impl TransactionAuxiliaryDataDb { pub(crate) fn get_transaction_auxiliary_data( &self, version: Version, - ) -> Result { - self.db - .get::(&version)? - .ok_or_else(|| { - AptosDbError::NotFound(format!( - "No Transaction Auxiliary Data at version {}", - version - )) - }) + ) -> Result> { + self.db.get::(&version) } /// Returns an iterator that yields `num_transaction_infos` transaction infos starting from @@ -65,7 +58,7 @@ impl TransactionAuxiliaryDataDb { ) -> Result> + '_> { let mut iter = self .db - .iter::(ReadOptions::default())?; + .iter::()?; iter.seek(&start_version)?; iter.expect_continuous_versions(start_version, num_transaction_auxiliary_data) } diff --git a/storage/storage-interface/src/lib.rs b/storage/storage-interface/src/lib.rs index 7fec59eba29ed..5199c40f19997 100644 --- a/storage/storage-interface/src/lib.rs +++ b/storage/storage-interface/src/lib.rs @@ -170,7 +170,7 @@ pub trait DbReader: Send + Sync { fn get_transaction_auxiliary_data_by_version( &self, version: Version, - ) -> Result; + ) -> Result>; /// See [AptosDB::get_first_txn_version]. /// From ece45814e3829b2623b1565bc3326ed9d4d360be Mon Sep 17 00:00:00 2001 From: Bo Wu Date: Sun, 16 Jun 2024 10:45:01 -0700 Subject: [PATCH 2/3] remove uncessary import after cherry-pick --- .../aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs b/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs index 79245199ddcf4..bec7087398f8b 100644 --- a/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs +++ b/storage/aptosdb/src/ledger_db/transaction_auxiliary_data_db.rs @@ -8,7 +8,7 @@ use crate::{ }, utils::iterators::ExpectContinuousVersions, }; -use aptos_schemadb::{SchemaBatch, DB}; +use aptos_schemadb::{ReadOptions, SchemaBatch, DB}; use aptos_storage_interface::Result; use aptos_types::transaction::{TransactionAuxiliaryData, Version}; use std::{path::Path, sync::Arc}; @@ -58,7 +58,7 @@ impl TransactionAuxiliaryDataDb { ) -> Result> + '_> { let mut iter = self .db - .iter::()?; + .iter::(ReadOptions::default())?; iter.seek(&start_version)?; iter.expect_continuous_versions(start_version, num_transaction_auxiliary_data) } From 4ac946e78299faa80236e7ddf592fe8ad10d87b1 Mon Sep 17 00:00:00 2001 From: Bo Wu Date: Sun, 16 Jun 2024 19:45:35 -0700 Subject: [PATCH 3/3] update the single node perf benchmark due to unrelated changes --- testsuite/single_node_performance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/single_node_performance.py b/testsuite/single_node_performance.py index 5d2cd47964f8b..63ed154c5f2cd 100755 --- a/testsuite/single_node_performance.py +++ b/testsuite/single_node_performance.py @@ -89,7 +89,7 @@ class RunGroupConfig: RunGroupConfig(expected_tps=21300, key=RunGroupKey("no-op"), included_in=LAND_BLOCKING_AND_C), RunGroupConfig(expected_tps=11500, key=RunGroupKey("no-op", module_working_set_size=1000), included_in=LAND_BLOCKING_AND_C), RunGroupConfig(expected_tps=12800, key=RunGroupKey("coin-transfer"), included_in=LAND_BLOCKING_AND_C | Flow.REPRESENTATIVE), - RunGroupConfig(expected_tps=32817, key=RunGroupKey("coin-transfer", executor_type="native"), included_in=LAND_BLOCKING_AND_C), + RunGroupConfig(expected_tps=35050, key=RunGroupKey("coin-transfer", executor_type="native"), included_in=LAND_BLOCKING_AND_C), RunGroupConfig(expected_tps=9000, key=RunGroupKey("account-generation"), included_in=LAND_BLOCKING_AND_C | Flow.REPRESENTATIVE), RunGroupConfig(expected_tps=27873, key=RunGroupKey("account-generation", executor_type="native"), included_in=Flow.CONTINUOUS), RunGroupConfig(expected_tps=18600, key=RunGroupKey("account-resource32-b"), included_in=Flow.CONTINUOUS),