-
Bug
-
Resolution: Done-Errata
-
Undefined
-
rhel-9.5
-
None
-
389-ds-base-2.6.1-3.el9
-
No
-
Low
-
rhel-idm-ds
-
ssg_idm
-
0
-
False
-
False
-
-
No
-
None
-
-
Pass
-
Automated
-
Unspecified Release Note Type - Unknown
-
None
What were you trying to do that didn't work?
When nsslapd-mdb-max-dbs is set to 0, DS autotunes number of sub-dbs, but it's not optimal, as it prevents creating new backends.
What is the impact of this issue to you?
Please provide the package NVR for which the bug is seen:
389-ds-base-2.5.2-2.el9_5.x86_64
How reproducible is this bug?:
Always
Steps to reproduce
- Create a new instance with the MDB backend and default suffix
- Set autotuning for mdb-max-dbs and restart the server
dsconf localhost backend config set --mdb-max-dbs 0 dsctl localhost restart
- Check that MDB environment was created with max database instances=128 and check that 36 instances were consumed (1 by __DBNAMES, 4 by @long-entryrdn, ancestorid, id2entry, replication_changelog, and 31 by default indexes).
dbscan -D mdb -S /var/lib/dirsrv/slapd-localhost/db/ | grep 'Database entries:'
- Create new backend and restart the server to recalculate the number of max dbs
for i in $(seq 1 20); do dsconf localhost backend create --suffix=dc=test$i --be-name=test$i --create-suffix --create-entries; dsctl localhost restart; grep instances /var/log/dirsrv/slapd-localhost/errors | tail -n 1; dbscan -D mdb -S /var/lib/dirsrv/slapd-localhost/db/ | grep 'Database entries:'; done
Expected results
nsslapd-mdb-max-dbs is correctly recalculated and has enough free dbs to create new backend.
Actual results
It fails to add 4th backend, as it's not enough free entries (131-106=25, but at least 35 is required for a new backend).
# for i in $(seq 1 20); do dsconf localhost backend create --suffix=dc=test$i --be-name=test$i --create-suffix --create -entries; dsctl localhost restart; grep instances /var/log/dirsrv/slapd-localhost/errors | tail -n 1; dbscan -D mdb -S /var/lib/dirsrv/slapd-lo calhost/db/ | grep 'Database entries:'; done The database was sucessfully created Instance "localhost" has been restarted [22/Oct/2024:07:32:49.915157748 -0400] - INFO - dbmdb_make_env - MDB environment created with max database instances=128. Database entries: 71 free(): invalid pointer The database was sucessfully created Instance "localhost" has been restarted [22/Oct/2024:07:32:53.742132637 -0400] - INFO - dbmdb_make_env - MDB environment created with max database instances=131. Database entries: 106 free(): invalid pointer Error: -1 - Can't contact LDAP server - [] - add_ext_s((dn: dc=test3 dc: test3 description: dc=test3 objectclass: top objectclass: domain ,),{'serverctrls': None, 'clientctrls': None, 'escapehatch': 'i am sure'}) on instance localhost
- links to
-
RHBA-2024:144130 389-ds-base bug fix and enhancement update