Description
In the current implementation, the lower_bound
of state boundary is always set to the stable checkpoint without considering additional_maintained_snapshot_count
, which means although these states are available in the database, they cannot be accessed.
Another issue is that this lower_bound
is also used to control state maintenance. Since we are not well aware of the snapshots before the lower_bound
, the state garbage collection will not be triggered until another additional_maintained_snapshot_count
snapshots are created. This means that we will keep at most about 2 * additional_maintained_snapshot_count
snapshots after we restart a conflux process. This may lead to an unexpected "not enough space" error if additional_maintained_snapshot_count
is set to utilize more than half of the disk space in a normal running.