[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#7565) unacceptable growth on delete with back-mdb



Full_Name: Quanah Gibson-Mount
Version: 2.4.35
OS: Linux 2.6
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (75.111.39.181)


With back-mdb, if you add a large number of users to the database (via ldapadd),
and then delete them (via ldapmodify), the DB explodes in size.

After the initial ldapadd of 30 million users, the DB is 17GB in size.

After deleting the 30 million users, the DB is 52GB in size.  This is a 3.05
times larger than the DBs initial size.

With back-hdb, there is no change in size of the DB (it is static).

Clearly this is not a desirable state of affairs.

This appears to be a bug with the freelist.  After the add is complete, we
have:

zimbra@zre-ldap001:~/data/ldap/mdb/db$ mdb_stat -f .
Freelist Status
  Tree depth: 3
  Branch pages: 19
  Leaf pages: 2007
  Overflow pages: 5155
  Entries: 15879
  Free pages: 2612121

My delete run is not yet complete, but it is now:

zimbra@zre-ldap001:~/data/ldap/mdb/db$ mdb_stat -f .
Freelist Status
  Tree depth: 3
  Branch pages: 99
  Leaf pages: 11096
  Overflow pages: 20891
  Entries: 82932
  Free pages: 9381096

(and growing)

--Quanah