Bitcoin full node and query server

May 5, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil16:22
I've completed testing against a disk full condition in which I do not attempt to suspend the network. This results in some writes succeeding and others failing with the disk_full error state. Some will succeed because each table has an independent file with its own preallocation. Since disk_full is no longer a terminal error, the node will just continue to iterate with potential partial success and failure. Eventually if there are successes, those can fill up the preallocation and then will start failing as well. The only down side is wasted store space prior to resumption following space being freed up. Currently if I free up space the node just continues normally. But to limit wasted space we want to suspend operations as soon as a disk_full condition arises, and resume once space becomes available.