https://bugs.openldap.org/show_bug.cgi?id=9397
--- Comment #9 from tina@tina.pm ---
There's no danger of corruption if you only resize to grow the DB, which is the only functionality you should need in an active application. Shrinking the DB should only be an administrative action, not a live runtime operation.
The problem here happens because the other process does not see the updated mapsize properly. This is a combination of two things: one is a bug in the python library that was passing a default map_size on environment creation, and the other is that the mdb.c code ignores the persisted map_size in that situation and sets it to the last pageno used plus 1.
In any case, that information about the risk of shrinking the database would be incredibly useful in the docs too.