state chunk creation tracing
This commit is contained in:
parent
d9743f166f
commit
f400da405a
@ -771,8 +771,6 @@ impl<V> BlockChainClient for Client<V> where V: Verifier {
|
|||||||
// lock the state db while we create the state chunks.
|
// lock the state db while we create the state chunks.
|
||||||
let state_hashes = {
|
let state_hashes = {
|
||||||
let state_db = self.state_db.lock().unwrap();
|
let state_db = self.state_db.lock().unwrap();
|
||||||
// todo [rob] actually create the state chunks.
|
|
||||||
|
|
||||||
StateChunker::chunk_all(state_db.as_hashdb(), &state_root, &path).unwrap()
|
StateChunker::chunk_all(state_db.as_hashdb(), &state_root, &path).unwrap()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -157,6 +157,8 @@ impl<'a> StateChunker<'a> {
|
|||||||
// Write out the buffer to disk, pushing the created chunk's hash to
|
// Write out the buffer to disk, pushing the created chunk's hash to
|
||||||
// the list.
|
// the list.
|
||||||
fn write_chunk(&mut self) {
|
fn write_chunk(&mut self) {
|
||||||
|
trace!(target: "pv64_snapshot", "writing state chunk. uncompressed size: {}", self.cur_size);
|
||||||
|
|
||||||
let bytes = {
|
let bytes = {
|
||||||
let mut stream = RlpStream::new();
|
let mut stream = RlpStream::new();
|
||||||
stream.append(&&self.rlps[..]);
|
stream.append(&&self.rlps[..]);
|
||||||
@ -180,10 +182,8 @@ impl<'a> StateChunker<'a> {
|
|||||||
/// Walk the given state database starting from the given root,
|
/// Walk the given state database starting from the given root,
|
||||||
/// creating chunks and writing them out.
|
/// creating chunks and writing them out.
|
||||||
///
|
///
|
||||||
/// Returns a list of hashes created, or any error it may
|
/// Returns a list of hashes of chunks created, or any error it may
|
||||||
/// have encountered.
|
/// have encountered.
|
||||||
///
|
|
||||||
/// The data in the chunks is just a list of key, value pairs.
|
|
||||||
pub fn chunk_all(db: &'a HashDB, root: &'a H256, path: &'a Path) -> Result<Vec<H256>, Error> {
|
pub fn chunk_all(db: &'a HashDB, root: &'a H256, path: &'a Path) -> Result<Vec<H256>, Error> {
|
||||||
let account_view = try!(TrieDB::new(db, &root));
|
let account_view = try!(TrieDB::new(db, &root));
|
||||||
|
|
||||||
@ -194,12 +194,13 @@ impl<'a> StateChunker<'a> {
|
|||||||
snapshot_path: path,
|
snapshot_path: path,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
trace!(target: "pv64_snapshot", "beginning state chunking");
|
||||||
|
|
||||||
// account_key here is the address' hash.
|
// account_key here is the address' hash.
|
||||||
for (account_key, account_data) in account_view.iter() {
|
for (account_key, account_data) in account_view.iter() {
|
||||||
let account = AccountReader::from_thin_rlp(account_data);
|
let account = AccountReader::from_thin_rlp(account_data);
|
||||||
|
|
||||||
let fat_rlp = try!(account.to_fat_rlp(db));
|
let fat_rlp = try!(account.to_fat_rlp(db));
|
||||||
|
|
||||||
chunker.push(account_key, fat_rlp);
|
chunker.push(account_key, fat_rlp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user