https://bugs.openldap.org/show_bug.cgi?id=9842
Issue ID: 9842
Summary: Page should not be spilled if MDB_RESERVE is used
Product: LMDB
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
The documentation for the function mdb_cursor_put states for MDB_RESERVE the
following: "return a pointer to the reserved space, which the caller can fill
in later".
However this seems only to be valid if no other operation is performed on the
cursor. Once the cursor is moved the page where the reserved data resides on
might become untracked and therefore eligible to be spilled at any time.
This problems occurrs however only for large transactions where lmdb starts to
spill and flush pages.
I'm using only lmdb and I'm a bit confused as the branches master
(https://git.openldap.org/openldap/openldap/-/tree/master/libraries/liblmdb)
and mdb.master
(https://git.openldap.org/openldap/openldap/-/tree/mdb.master/libraries/liblmdb)
are not the same.
For example the function mdb_pages_xkeep differs and master and mdb.master.
Will the branches be consolidated again?
--
You are receiving this mail because:
You are on the CC list for the issue.