Issue ID: 9735
Summary: [PATCH] try hard to find free space if database cannot
Target Milestone: ---
Created attachment 851
Patch fixing the issue "try hard to find free space if database cannot grow"
- the issue is the same in version 0.9.70 (git)
- the database had already grown to its limit (mapsize) in the past
- overflow pages are used heavily as stored values are usually several pages
- free space got fragmented
- attempt to insert new value results in MDB_MAP_FULL despite there is free
Cause: there is a heursitic in mdb_page_alloc() that gives up searching for
free space chunk if this would take too much time. This is useful when the
database can still grow, as it balances performance with space usage. However,
if the database can no longer grow, it prevents inserting new values.
Solution: detect early on in mdb_page_alloc() if the database can grow, and if
not, let it try hard to search for free space.
You are receiving this mail because:
You are on the CC list for the issue.