Limit the impact of reorganisations on the database
authorPieter Wuille <pieter.wuille@gmail.com>
Sat, 10 Mar 2012 22:04:06 +0000 (23:04 +0100)
committerPieter Wuille <pieter.wuille@gmail.com>
Mon, 12 Mar 2012 19:31:56 +0000 (20:31 +0100)
commitd68dcf741e088d8d7033521aa1a1e5e87d9dd283
tree5b98bddc5cb9258e5afab24505ad3dba7238b31a
parent336ba312a6ddc08f40ce456bfd09f0711bdc78dc
Limit the impact of reorganisations on the database

Sometimes a new block arrives in a new chain that was already the
best valid one, but wasn't marked that way. This happens for example
when network rules change to recover after a fork.

In this case, it is not necessary to do the entire reorganisation
inside a single db commit. These can become huge, and exceed the
objects/lockers limits in bdb. This patch limits the blocks the
actual reorganisation is applied to, and adds the next blocks
afterwards in separate db transactions.
src/main.cpp
src/main.h