Argyrios Kyrtzidis wrote:
Hi,

Thank you for making LMDB available.

I’m using LMDB on OSX (without MDB_WRITEMAP, so the database file size is 
relative to the stored data, not the max mapsize).
I’ve noticed that write transactions that have a large number of ‘attempted’ 
updates, but that do not actually make any updates due to MDB_NOOVERWRITE / 
MDB_NODUPDATA, cause an increase in the database file size, which mdb_stat 
attributes to an increased number of free pages.
This is with latest master of the github mirror.

I’m wondering if you have any hints on what I may be doing wrong ? I’d like if 
possible to avoid the database size increasing if the write pass did not make 
any updates.

Call mdb_txn_abort() instead of mdb_txn_commit() when you encounter KEYEXIST errors.

--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to