Bitcoin Core is unstable in the presence of sudden OS crashes. There are two scenarios that cause problems which I experienced:
- Sudden power loss
- Stopping a Virtual Machine suddenly
The symptoms are:
- A lengthy “verification” operation on the next startup
- Sometimes, reindexing of blocks is necessary because some “corruption” is reported (this is so slow that deleting all blocks and syncing from the network is faster)
Are Bitcoin Core databases not crash consistent? I’m used to the situation that databases tolerate sudden power loss without loss of data or consistency. This is a core feature of “Enterprise” RDBMSes for example, and it does work as advertised in practice. Could we have crash consistency for Bitcoin Core, too?
I imagine this can be a problem for automated operations because during the “reprocessing” phase the software is unavailable.
In case this is considered a bug, maybe there should be automated tests for crash consistency (e.g. powering off a VM suddenly).
This was version v0.10.2, run both on real hardware as well as virtualized on VMWare.