Vladimír Čunát wrote: > On 8/19/20 7:11 PM, Howard Chu wrote: >>> We have a process that needs to analyze the contents of a whole LMDB. So >>> far the approach was to open a read-only transaction and use a cursor to >>> iterate over the whole contents in order. This long transaction apparently >>> causes other concurrent process(es) to get MDB_MAP_FULL from mdb_put() even >>> though that LMDB has plenty free pages at that moment. >>> >>> [...] >> It's a documented feature. > > I haven't seen that in docs http://www.lmdb.tech/doc/ (I even skimmed the > "internals" section) Am I missing some part?
You definitely need to read more carefully. It's on the very first page of your link, under Caveats. "Avoid long-lived transactions." ... -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
