Hi,
I'm currently making use of the DNA plugin to assign unique values for
the 'uidNumber' attribute for new POSIX users, which (from what I
understand) is the 'ideal' configuration in a large, corporate
environment.
I decided to run a stress test by adding about twenty thousand users
via the ldapadd command. After about the 3995th user, the server
returned the following error for the 3996th:
adding new entry "uid=test3996,ou=People,dc=example,dc=com
ldapadd: Operation error (1)
additional info: Allocation of a new
value for uidNumber failed! Unable to proceed.
I attempted to add the 3996th user myself through the 389 DS Management
Console, and it returned the following error:
Cannot save to directory server:
netscape.ldap.LDAPException: error result (1); Allocation of a new
value for uidNumber failed! Unable to proceed.; Operations error
You need to index the uidNumber attribute. The DNA plug-in does an
internal search using the server-side sort control to check if the next
supposed free value has already been used. This requires the attribute
to be indexed for it to work properly once you pass a threshold number
of matches (the nsslapd-idlistscanlimit setting, which is 4000 by
default). Since the values being sorted are integers, you should also
be using the integerOrdering match matching rule when you define the
index.