Open
Description
While the current lmdb backend resizes in most cases automatically, there's a chance for MDB_MAP_FULL error to be returned whether in:
- writes
- commits
and we should be able to handle these cases gracefully and not halt the program execution. Currently, in our code, we're not fully invulnerable to that problem. For example, in chainstate, when attempting to write a new block, we just "retry" if we get a recoverable error. However, if we get an MDB_MAP_FULL error, we should make an attempt to resize the database.
Attempts are being made to automate this, but this should be checked in LmdbImpl again later when the node is ready.