Univention Bugzilla – Bug 39501
MDB_DBS_FULL: Environment maxdbs limit reached
Last modified: 2019-01-03 07:18:25 CET
slapd with MDB backend fails to import and start when more than 128 attributes are indexed: root:~# slapadd < large.ldif 561557ff mdb_attr_dbs: database "o=foo,o=bar": mdb_dbi_open(YetAnotherIndexedAttribute) failed: MDB_DBS_FULL: Environment maxdbs limit reached (-30791). 561557ff backend_startup_one (type=mdb, suffix="o=foo,o=bar"): bi_db_open failed! (-30791) slap_startup failed This limit can only be changed during compile time: openldap/servers/slapd/back-mdb/back-mdb.h:#define MDB_INDICES 128 See also http://www.openldap.org/lists/openldap-bugs/201209/msg00031.html Side note: "A SubDB is simply a key/data pair in the main DB, where the data item is the root node of another tree" -- "Used in back-mdb for the main data and all of the associated indices"
Is this limit changed in customer packages?
This has been reported inhouse in a special project that made heavy use of LDAP attribute extensions like we do in normal UCS for ucs policies (;entry-hex-). Apparently OpenLDAP indexes each one of those separately (I guess in case you index the attribute itself). So, in a normal UCS domain where many attributes are indexed (or many UCR policies are used) this limit may be reached. AFAIK the project did not adjust the MDB_INDICES value but changed their data model instead.
This issue has been filled against UCS 4.1. The maintenance with bug and security fixes for UCS 4.1 has ended on 5st of April 2018. Customers still on UCS 4.1 are encouraged to update to UCS 4.3. Please contact your partner or Univention for any questions. If this issue still occurs in newer UCS versions, please use "Clone this bug" or simply reopen the issue. In this case please provide detailed information on how this issue is affecting you.