diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b286afc831..9498041652d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,11 @@ * A `[path, data]` JSON RPC query format has been removed. It has been deprecated for over two years and not documented anywhere. Use proper structured queries with `rquest_type` set instead. +* Enable receipt prefetching by default. This feature makes receipt processing + faster by parallelizing IO requests, which has been introduced in + [#7590](https://github.com/near/nearcore/pull/7590) and enabled by default + with [#7661](https://github.com/near/nearcore/pull/7661). + Configurable in `config.json` using `store.enable_receipt_prefetching`. ## 1.28.0 [2022-07-27] diff --git a/core/store/src/config.rs b/core/store/src/config.rs index 6c810c9c4a3..82d0418aceb 100644 --- a/core/store/src/config.rs +++ b/core/store/src/config.rs @@ -162,7 +162,7 @@ impl Default for StoreConfig { block_size: bytesize::ByteSize::kib(16), trie_cache_capacities: vec![(ShardUId { version: 1, shard_id: 3 }, 45_000_000)], - enable_receipt_prefetching: false, + enable_receipt_prefetching: true, sweat_prefetch_receivers: vec![ "token.sweat".to_owned(), "vfinal.token.sweat.testnet".to_owned(), diff --git a/runtime/runtime-params-estimator/src/testbed.rs b/runtime/runtime-params-estimator/src/testbed.rs index f9134056b90..df595465f48 100644 --- a/runtime/runtime-params-estimator/src/testbed.rs +++ b/runtime/runtime-params-estimator/src/testbed.rs @@ -31,7 +31,17 @@ impl RuntimeTestbed { StateDump::from_dir(dump_dir, workdir.path(), in_memory_db); // Ensure decent RocksDB SST file layout. store.compact().expect("compaction failed"); - let tries = ShardTries::test(store, 1); + + // Create ShardTries with relevant settings adjusted for estimator. + let shard_uids = [ShardUId { shard_id: 0, version: 0 }]; + let mut trie_config = near_store::TrieConfig::default(); + trie_config.enable_receipt_prefetching = true; + let tries = ShardTries::new( + store.clone(), + trie_config, + &shard_uids, + near_store::flat_state::FlatStateFactory::new(store.clone()), + ); assert!(roots.len() <= 1, "Parameter estimation works with one shard only."); assert!(!roots.is_empty(), "No state roots found.");