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.
 | 
			
		||||
		let state_hashes = {
 | 
			
		||||
			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()
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -157,6 +157,8 @@ impl<'a> StateChunker<'a> {
 | 
			
		||||
	// Write out the buffer to disk, pushing the created chunk's hash to
 | 
			
		||||
	// the list.
 | 
			
		||||
	fn write_chunk(&mut self) {
 | 
			
		||||
		trace!(target: "pv64_snapshot", "writing state chunk. uncompressed size: {}", self.cur_size);
 | 
			
		||||
 | 
			
		||||
		let bytes = {
 | 
			
		||||
			let mut stream = RlpStream::new();
 | 
			
		||||
			stream.append(&&self.rlps[..]);
 | 
			
		||||
@ -180,10 +182,8 @@ impl<'a> StateChunker<'a> {
 | 
			
		||||
	/// Walk the given state database starting from the given root,
 | 
			
		||||
	/// 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.
 | 
			
		||||
	///
 | 
			
		||||
	/// 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> {
 | 
			
		||||
		let account_view = try!(TrieDB::new(db, &root));
 | 
			
		||||
 | 
			
		||||
@ -194,12 +194,13 @@ impl<'a> StateChunker<'a> {
 | 
			
		||||
			snapshot_path: path,
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		trace!(target: "pv64_snapshot", "beginning state chunking");
 | 
			
		||||
 | 
			
		||||
		// account_key here is the address' hash.
 | 
			
		||||
		for (account_key, account_data) in account_view.iter() {
 | 
			
		||||
			let account = AccountReader::from_thin_rlp(account_data);
 | 
			
		||||
 | 
			
		||||
			let fat_rlp = try!(account.to_fat_rlp(db));
 | 
			
		||||
 | 
			
		||||
			chunker.push(account_key, fat_rlp);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user