On OpenBSD, nested LMDB transactions can read stale data after pages are written through the file descriptor.
Calling msync(..., MS_INVALIDATE) after the writes fixes it. MDB_WRITEMAP also avoids the issue, but cannot be used with nested write transactions.
Tested on OpenBSD 7.9 with heed 0.22.1 and lmdb-master-sys 0.2.6.
On OpenBSD, nested LMDB transactions can read stale data after pages are written through the file descriptor.
Calling msync(..., MS_INVALIDATE) after the writes fixes it. MDB_WRITEMAP also avoids the issue, but cannot be used with nested write transactions.
Tested on OpenBSD 7.9 with heed 0.22.1 and lmdb-master-sys 0.2.6.