Flush chain database during replay
This commit is contained in:
parent
fdcf090730
commit
ec497e3cb2
1 changed files with 3 additions and 5 deletions
|
|
@ -107,7 +107,6 @@ void database::reindex( fc::path data_dir )
|
||||||
ilog( "reindexing blockchain" );
|
ilog( "reindexing blockchain" );
|
||||||
auto start = fc::time_point::now();
|
auto start = fc::time_point::now();
|
||||||
const auto last_block_num = last_block->block_num();
|
const auto last_block_num = last_block->block_num();
|
||||||
uint32_t flush_point = last_block_num < 10000 ? 0 : last_block_num - 10000;
|
|
||||||
uint32_t undo_point = last_block_num < 50 ? 0 : last_block_num - 50;
|
uint32_t undo_point = last_block_num < 50 ? 0 : last_block_num - 50;
|
||||||
|
|
||||||
ilog( "Replaying blocks, starting at ${next}...", ("next",head_block_num() + 1) );
|
ilog( "Replaying blocks, starting at ${next}...", ("next",head_block_num() + 1) );
|
||||||
|
|
@ -123,8 +122,7 @@ void database::reindex( fc::path data_dir )
|
||||||
}
|
}
|
||||||
for( uint32_t i = head_block_num() + 1; i <= last_block_num; ++i )
|
for( uint32_t i = head_block_num() + 1; i <= last_block_num; ++i )
|
||||||
{
|
{
|
||||||
if( i % 10000 == 0 ) std::cerr << " " << double(i*100)/last_block_num << "% "<<i << " of " <<last_block_num<<" \n";
|
if( i % 10000 == 0 )
|
||||||
if( i == flush_point )
|
|
||||||
{
|
{
|
||||||
ilog( "Writing database to disk at block ${i}", ("i",i) );
|
ilog( "Writing database to disk at block ${i}", ("i",i) );
|
||||||
flush();
|
flush();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue