I'm trying out the mdb backend before converting several of our LDAP servers to it and have a few questions I haven't found answers to yet.
Firstly, I found when I spun up an instance using MDB that I couldn't have more than 1000 leaf nodes. It appears when I tried to create the 1001st leaf node, one of the earlier nodes disappeared. Is this a known limitation or just a config option I don't see in the slapd-mdb man page? Right now my config just contains:
database mdb masxize 2147483648 suffix "dc=mysuffix,dc=com" rootdn "cn=Manager,dc=sgi,dc=com" rootpw myrootpw directory /data/ldap/instance-v1.4/var/openldap-data [... a bunch of indexes ...] checkpoint 1024000 60
The total size of the DB was only 412 megs so far and each of three branches in the DB appeared to be limited at 1000 leaf nodes so I don't think I was just hitting a maxsize limit.
Which leads me to the 2nd question... The maxsize option (according to what I've read) is the maximum size of the database in bytes. But it looks to me like the biggest value I can specify is 4G - the biggest value for an unsigned long. Would this be cuz the system I'm testing on is a 32bit version of linux? (unsigned long is only 4 bytes whereas on a 64 bit OS unsigned longs are 8 bytes)
I can just switch to a 64 bit system, easy-peasy. But I'm not sure why I seem to be limited to 1000 leaf nodes.
Brent
I think I may have answered my own questions. The number of leaf nodes being limited to 1000 was a red herring - an artifact of the default settings of the LDAP browser I was using (slaps forehead).
I compiled OpenLDAP on a 64bit linux system and was able to specify a maxsize greater than 4G so I think that's that. Now I just gotta change my dev/testing environment over to a 64bit system is all. :-)
BTW, thanks to everyone who contributed to MDB. At first glance it's very fast and a big improvement. Can't wait to feed it some decent amounts of data (this first DB I'm testing with was around 95 gigs using BDB) and see how it compares then. Won't be a completely fair comparison since the old DB was on a 32 bit linux, but (shrug)...
Brent
On 09/02/2013 12:22 PM, Brent Bice wrote:
I'm trying out the mdb backend before converting several of our LDAP
servers to it and have a few questions I haven't found answers to yet.
Firstly, I found when I spun up an instance using MDB that I
couldn't have more than 1000 leaf nodes. It appears when I tried to create the 1001st leaf node, one of the earlier nodes disappeared. Is this a known limitation or just a config option I don't see in the slapd-mdb man page? Right now my config just contains:
database mdb masxize 2147483648 suffix "dc=mysuffix,dc=com" rootdn "cn=Manager,dc=sgi,dc=com" rootpw myrootpw directory /data/ldap/instance-v1.4/var/openldap-data [... a bunch of indexes ...] checkpoint 1024000 60
The total size of the DB was only 412 megs so far and each of three
branches in the DB appeared to be limited at 1000 leaf nodes so I don't think I was just hitting a maxsize limit.
Which leads me to the 2nd question... The maxsize option (according
to what I've read) is the maximum size of the database in bytes. But it looks to me like the biggest value I can specify is 4G - the biggest value for an unsigned long. Would this be cuz the system I'm testing on is a 32bit version of linux? (unsigned long is only 4 bytes whereas on a 64 bit OS unsigned longs are 8 bytes)
I can just switch to a 64 bit system, easy-peasy. But I'm not sure
why I seem to be limited to 1000 leaf nodes.
Brent
--On Monday, September 02, 2013 12:22 PM -0600 Brent Bice bbice@sgi.com wrote:
I'm trying out the mdb backend before converting several of our LDAP
servers to it and have a few questions I haven't found answers to yet.
OpenLDAP version?
Firstly, I found when I spun up an instance using MDB that I couldn't
have more than 1000 leaf nodes. It appears when I tried to create the 1001st leaf node, one of the earlier nodes disappeared. Is this a known limitation or just a config option I don't see in the slapd-mdb man page? Right now my config just contains:
database mdb masxize 2147483648 suffix "dc=mysuffix,dc=com" rootdn "cn=Manager,dc=sgi,dc=com" rootpw myrootpw directory /data/ldap/instance-v1.4/var/openldap-data [... a bunch of indexes ...] checkpoint 1024000 60
This is not a valid back-mdb parameter. I would suggest re-reading the man page.
The total size of the DB was only 412 megs so far and each of three
branches in the DB appeared to be limited at 1000 leaf nodes so I don't think I was just hitting a maxsize limit.
I have DBs with hundreds of millions of objects, without issue.
Which leads me to the 2nd question... The maxsize option (according
to what I've read) is the maximum size of the database in bytes. But it looks to me like the biggest value I can specify is 4G - the biggest value for an unsigned long. Would this be cuz the system I'm testing on is a 32bit version of linux? (unsigned long is only 4 bytes whereas on a 64 bit OS unsigned longs are 8 bytes)
I would advise using a 64-bit OS with MDB.
--Quanah
--
Quanah Gibson-Mount Lead Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
--On Monday, September 02, 2013 12:19 PM -0700 Quanah Gibson-Mount quanah@zimbra.com wrote:
--On Monday, September 02, 2013 12:22 PM -0600 Brent Bice bbice@sgi.com wrote:
I'm trying out the mdb backend before converting several of our LDAP
servers to it and have a few questions I haven't found answers to yet.
OpenLDAP version?
You didn't answer this, but I'll state, only use OpenLDAP 2.4.36 or later with back-mdb.
checkpoint 1024000 60
This is not a valid back-mdb parameter. I would suggest re-reading the man page.
Bah, never mind... Apparently I had an outdated manual page. :P
--Quanah
--
Quanah Gibson-Mount Lead Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
On 09/02/2013 05:20 PM, Quanah Gibson-Mount wrote:
OpenLDAP version?
You didn't answer this, but I'll state, only use OpenLDAP 2.4.36 or later with back-mdb.
Yeah, I totally forgot to mention that I was using OpenLDAP 2.4.36. Whenever I'm trying out something new like this I *do* try to use the latest 'n greatest version (and compile from source so I'm looking at the same thing the developers are, not just whatever the distro-du-jour provides - grin).
checkpoint 1024000 60
This is not a valid back-mdb parameter. I would suggest re-reading the man page.
Bah, never mind... Apparently I had an outdated manual page. :P
I was gonna re-read the man page to make sure I wasn't losing my marbles before contradicting ya. :-)
Brent
openldap-technical@openldap.org