-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Dear list users,
I'm trying to get my DB_CONFIG file sorted out and I'm getting confused. If I follow the documentation available on zytrax.com (http://www.zytrax.com/books/ldap/ch6/bdb.html#db-config), if I have a DB_CONFIG file it should contain a txn_checkpoint directive instead of the checkpoint directive in slapd.conf file which indeed does nothing no matter if I change it or not. But if I put a txn_checkpoint in the DB_CONFIG file I get a "unrecognized name-value pair: txn_checkpoint" error and everything dies miserably. So, as Howard suggests (http://www.openldap.org/lists/openldap-software/200605/msg00091.html), I set off on a quest to read the BerkeleyDB documentation. I'm finding reading it not very useful for several reasons. Firstly txn_checkpoint directive sometimes occurs (http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_ref... so at least version 3.1, and up?, should understand txn_checkpoint) and sometimes not (http://www.oracle.com/technology/documentation/berkeley-db/db/api_reference/...). Secondly, there is scarce, if any, reference to the versions of BDB concerned in the documentation I have found and now I have spent an awful amount time (well, ten minutes maybe) trying to find out exactly which version of BDB I have I'd like to make some intelligent use of that information if at all possible. Well, I'm lost. The only thing I've found is a gigabyte of bdb logs created when I populate my directory wich are not removed by dbconfig set_flags DB_LOG_AUTOREMOVE, and even more as my directory lives it life (several gigabytes after a week or two). So I'd like to reduce their volume if at all possible rather than having to regularly remove them using slapd_db_archive manually. So, what's the story with BDB transaction checkpoint logs? How can I get this mess sorted out? I'm using Openldap 2.3.43-3.el5 with BDB 4.3.29 on CentOS 5.3. Thanks.
Best regards,
Oliver
--On Wednesday, September 23, 2009 12:36 PM +0200 Oliver Henriot Oliver.Henriot@imag.fr wrote:
I'm using Openldap 2.3.43-3.el5 with BDB 4.3.29 on CentOS 5.3.
This is not a supported configuration. OpenLDAP has specifically not allowed compilation against BDB 4.3.29 for quite some time, due to its unreliability.
Using the "checkpoint" directive in slapd.conf/cn=config is what is supported, and is known to work if you use an actual supported version of BDB with OpenLDAP.
I suggest buying RHEL, and filing a bug with the RedHat folks for deliberately mucking with the OpenLDAP configure and bypassing a safeguard put into place by the OpenLDAP project. This is a RedHat inflicted issue, and not anything the OpenLDAP project can help you with.
Alternatively, build OpenLDAP yourself against a supported BDB release. I'd suggest OpenLDAP 2.4.18 with BDB 4.7.25+patches or BDB 4.8.
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Dear Quanah and list users,
Thank you for this info. As Satoh Fumiyasu points out, it's not BDB 4.3.29 but BDB 4.4.20 on CentOS/RHEL 5.3. But indeed as you suggest, if we need a real solution it would be better to either get support from RedHat or build OpenLDAP ourselves.
Best regards,
Oliver
Dans sa grande sagesse, Quanah Gibson-Mount a écrit, le 23.09.2009 16:58 :
--On Wednesday, September 23, 2009 12:36 PM +0200 Oliver Henriot Oliver.Henriot@imag.fr wrote:
I'm using Openldap 2.3.43-3.el5 with BDB 4.3.29 on CentOS 5.3.
This is not a supported configuration. OpenLDAP has specifically not allowed compilation against BDB 4.3.29 for quite some time, due to its unreliability.
Using the "checkpoint" directive in slapd.conf/cn=config is what is supported, and is known to work if you use an actual supported version of BDB with OpenLDAP.
I suggest buying RHEL, and filing a bug with the RedHat folks for deliberately mucking with the OpenLDAP configure and bypassing a safeguard put into place by the OpenLDAP project. This is a RedHat inflicted issue, and not anything the OpenLDAP project can help you with.
Alternatively, build OpenLDAP yourself against a supported BDB release. I'd suggest OpenLDAP 2.4.18 with BDB 4.7.25+patches or BDB 4.8.
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc
Zimbra :: the leader in open source messaging and collaboration
At Wed, 23 Sep 2009 12:36:11 +0200, Oliver Henriot wrote:
I'm using Openldap 2.3.43-3.el5 with BDB 4.3.29 on CentOS 5.3. Thanks.
No. RHEL and CentOS openldap-servers package has own BDB library.
$ rpm -qf /usr/sbin/slapd openldap-servers-2.3.43-3.el5.x86_64 $ ldd /usr/sbin/slapd |grep db libslapd_db-4.4.so => /usr/lib64/tls/libslapd_db-4.4.so (0x00002b9d8199d000) $ rpm -qf /usr/lib64/tls/libslapd_db-4.4.so openldap-servers-2.3.43-3.el5.x86_64 $ rpm -qf /usr/sbin/slapd_db_dump openldap-servers-2.3.43-3.el5.x86_64 $ slapd_db_dump -V Sleepycat Software: Berkeley DB 4.4.20: (January 10, 2006) $ rpm -q --changelog openldap-servers |grep -i db |head - apply latest db-4 patches (#454857) - rework the database upgrade logic, it should dump/restore the BDB - include __db.* in the list of files to check ownership of in - Add two upstream patches for db-4.4.20 - Upgrade internal bdb to db-4.4.20. For a clean upgrade, this will - run slaptest with the -u flag if no id2entry db files are found, because contains a readable file named __db.001 (#118678) - default to bdb, as upstream does, gambling that we're only going to be - add bug fix patch for DB 4.2.52 - update to db-4.2.52.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Dear Satoh sensei and list users,
Indeed, my mistake. I used db_stat from db4-utils to identify the version of BDB installed which doesn't give the same answer as your method which is much more accurate than mine. Thank you for the information.
Best regards,
Oliver
Dans sa grande sagesse, SATOH Fumiyasu a écrit, le 24.09.2009 03:44 :
At Wed, 23 Sep 2009 12:36:11 +0200, Oliver Henriot wrote:
I'm using Openldap 2.3.43-3.el5 with BDB 4.3.29 on CentOS 5.3. Thanks.
No. RHEL and CentOS openldap-servers package has own BDB library.
$ rpm -qf /usr/sbin/slapd openldap-servers-2.3.43-3.el5.x86_64 $ ldd /usr/sbin/slapd |grep db libslapd_db-4.4.so => /usr/lib64/tls/libslapd_db-4.4.so (0x00002b9d8199d000) $ rpm -qf /usr/lib64/tls/libslapd_db-4.4.so openldap-servers-2.3.43-3.el5.x86_64 $ rpm -qf /usr/sbin/slapd_db_dump openldap-servers-2.3.43-3.el5.x86_64 $ slapd_db_dump -V Sleepycat Software: Berkeley DB 4.4.20: (January 10, 2006) $ rpm -q --changelog openldap-servers |grep -i db |head
- apply latest db-4 patches (#454857)
- rework the database upgrade logic, it should dump/restore the BDB
- include __db.* in the list of files to check ownership of in
- Add two upstream patches for db-4.4.20
- Upgrade internal bdb to db-4.4.20. For a clean upgrade, this will
- run slaptest with the -u flag if no id2entry db files are found, because contains a readable file named __db.001 (#118678)
- default to bdb, as upstream does, gambling that we're only going to be
- add bug fix patch for DB 4.2.52
- update to db-4.2.52.
openldap-technical@openldap.org