https://bugs.openldap.org/show_bug.cgi?id=9735
--- Comment #6 from jtgrassie jtg@xtrabass.com ---
This is a misunderstanding.
My proposed patch only performs an aggressive (slow) fuller search if the database can NOT grow, since it had already grown to its limit (mapsize).
No, I do understand this. The issue is all about determining *if* there is any free space (if the environment really is full or not).
Hence, it's really a trade-off between performance and functionality: with the patch, the database tries hard to find any available free space; without the patch (or with it deactivated by some env flag), it tries a little and than fails with MDB_MAP_FULL. Can this be desirable in some use-case?
It's not a "functionality" trade-off because as I mentioned, one can resize (grow) the environment, which is fast (`mdb_env_set_mapsize`). Hence the trade-off is performance vs growth rate concerns.