fix(libmdbx): Some options can only be set after mdbx_env_open
#11328
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm building some application solely relying on reth libmdbx bindings because it's more actively maintained.
When trying to setup
MDBX_opt_sync_bytes
andMDBX_opt_sync_period
, this returnsEPERM
which is confusing. After digging into the code, the two options are guarded by:And the only place to set
MDBX_ENV_ACTIVE
is inmdbx_env_open
:Therefore, the two options should be set after
mdbx_env_open
.I have checked other options and these two seem the only special ones. I also added
EPERM
error type tolibmdbx::Error
.