Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

Commit 2193d57

Browse files
Mdbx: WriteMap fallback on open error (#369)
* save * save
1 parent 05b59ea commit 2193d57

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

kv/mdbx/kv_mdbx.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,12 @@ func (opts MdbxOpts) Open() (kv.RwDB, error) {
231231

232232
err = env.Open(opts.path, opts.flags, 0664)
233233
if err != nil {
234-
return nil, fmt.Errorf("%w, label: %s, trace: %s", err, opts.label.String(), stack2.Trace().String())
234+
log.Warn("error at db.open likely because of https://github.com/erthink/libmdbx/issues/269#issuecomment-1068214834 (our advise: use linux > 5.4), now we adding WriteMap option and retry", "err", err)
235+
opts.flags |= mdbx.WriteMap
236+
err = env.Open(opts.path, opts.flags, 0664)
237+
if err != nil {
238+
return nil, fmt.Errorf("%w, label: %s, trace: %s", err, opts.label.String(), stack2.Trace().String())
239+
}
235240
}
236241

237242
if opts.syncPeriod != 0 {

0 commit comments

Comments
 (0)