chore: remove write_trie_updates from StorageWriter (#9947)

This commit is contained in:
joshieDo
2024-07-31 17:28:27 +01:00
committed by GitHub
parent 78c461ea4e
commit b38a3aece1
2 changed files with 8 additions and 18 deletions

View File

@ -7,8 +7,8 @@ use reth_db_api::{
}; };
use reth_primitives::{BlockNumber, GotExpected, SealedHeader, B256}; use reth_primitives::{BlockNumber, GotExpected, SealedHeader, B256};
use reth_provider::{ use reth_provider::{
writer::StorageWriter, DatabaseProviderRW, HeaderProvider, ProviderError, DatabaseProviderRW, HeaderProvider, ProviderError, StageCheckpointReader,
StageCheckpointReader, StageCheckpointWriter, StatsReader, StageCheckpointWriter, StatsReader, TrieWriter,
}; };
use reth_stages_api::{ use reth_stages_api::{
BlockErrorKind, EntitiesCheckpoint, ExecInput, ExecOutput, MerkleCheckpoint, Stage, BlockErrorKind, EntitiesCheckpoint, ExecInput, ExecOutput, MerkleCheckpoint, Stage,
@ -218,8 +218,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
})?; })?;
match progress { match progress {
StateRootProgress::Progress(state, hashed_entries_walked, updates) => { StateRootProgress::Progress(state, hashed_entries_walked, updates) => {
let writer = StorageWriter::new(Some(provider), None); provider.write_trie_updates(&updates)?;
writer.write_trie_updates(&updates)?;
let checkpoint = MerkleCheckpoint::new( let checkpoint = MerkleCheckpoint::new(
to_block, to_block,
@ -239,8 +238,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
}) })
} }
StateRootProgress::Complete(root, hashed_entries_walked, updates) => { StateRootProgress::Complete(root, hashed_entries_walked, updates) => {
let writer = StorageWriter::new(Some(provider), None); provider.write_trie_updates(&updates)?;
writer.write_trie_updates(&updates)?;
entities_checkpoint.processed += hashed_entries_walked as u64; entities_checkpoint.processed += hashed_entries_walked as u64;
@ -255,8 +253,8 @@ impl<DB: Database> Stage<DB> for MerkleStage {
error!(target: "sync::stages::merkle", %e, ?current_block_number, ?to_block, "Incremental state root failed! {INVALID_STATE_ROOT_ERROR_MESSAGE}"); error!(target: "sync::stages::merkle", %e, ?current_block_number, ?to_block, "Incremental state root failed! {INVALID_STATE_ROOT_ERROR_MESSAGE}");
StageError::Fatal(Box::new(e)) StageError::Fatal(Box::new(e))
})?; })?;
let writer = StorageWriter::new(Some(provider), None);
writer.write_trie_updates(&updates)?; provider.write_trie_updates(&updates)?;
let total_hashed_entries = (provider.count_entries::<tables::HashedAccounts>()? + let total_hashed_entries = (provider.count_entries::<tables::HashedAccounts>()? +
provider.count_entries::<tables::HashedStorages>()?) provider.count_entries::<tables::HashedStorages>()?)
@ -329,8 +327,7 @@ impl<DB: Database> Stage<DB> for MerkleStage {
validate_state_root(block_root, target.seal_slow(), input.unwind_to)?; validate_state_root(block_root, target.seal_slow(), input.unwind_to)?;
// Validation passed, apply unwind changes to the database. // Validation passed, apply unwind changes to the database.
let writer = StorageWriter::new(Some(provider), None); provider.write_trie_updates(&updates)?;
writer.write_trie_updates(&updates)?;
// TODO(alexey): update entities checkpoint // TODO(alexey): update entities checkpoint
} else { } else {

View File

@ -1,6 +1,6 @@
use crate::{ use crate::{
providers::StaticFileProviderRWRefMut, DatabaseProvider, DatabaseProviderRO, providers::StaticFileProviderRWRefMut, DatabaseProvider, DatabaseProviderRO,
DatabaseProviderRW, StateChangeWriter, StateWriter, TrieWriter, DatabaseProviderRW, StateChangeWriter, StateWriter,
}; };
use reth_db::{ use reth_db::{
cursor::DbCursorRO, cursor::DbCursorRO,
@ -15,7 +15,6 @@ use reth_primitives::{
}; };
use reth_storage_api::{HeaderProvider, ReceiptWriter}; use reth_storage_api::{HeaderProvider, ReceiptWriter};
use reth_storage_errors::writer::StorageWriterError; use reth_storage_errors::writer::StorageWriterError;
use reth_trie::updates::TrieUpdates;
use revm::db::OriginalValuesKnown; use revm::db::OriginalValuesKnown;
use static_file::StaticFileWriter; use static_file::StaticFileWriter;
use std::borrow::Borrow; use std::borrow::Borrow;
@ -289,12 +288,6 @@ where
Ok(()) Ok(())
} }
/// Writes trie updates. Returns the number of entries modified.
pub fn write_trie_updates(&self, trie_updates: &TrieUpdates) -> ProviderResult<usize> {
self.ensure_database_writer()?;
self.database_writer().write_trie_updates(trie_updates)
}
} }
impl<'a, 'b, TX> StateWriter for StorageWriter<'a, 'b, TX> impl<'a, 'b, TX> StateWriter for StorageWriter<'a, 'b, TX>