Please review: [389 Project] #519: Search with a complex filter including range search is slow
by Noriko Hosoi
https://fedorahosted.org/389/ticket/519
https://fedorahosted.org/389/attachment/ticket/519/0001-Trac-Ticket-519-S...
Bug description: If a filter contains a range search, the
search retrieves one ID per one idl_fetch and merge it to
the idlist using idl_union, which is slow especially when
the range search result size is large.
Fix description: When the idlist size is larger than nsslapd-
lookthroughlimit, the range search returns ALLID (default
value of nsslapd-lookthroughlimit is 5000). Then, the range
search filter is evaluated before returning to the client.
If the default value of nsslapd-lookthroughlimit can be used,
the search elapsed time is much shorter than generating a
complete idlist in index_range_read_ext. Since the nsslapd-
lookthroughlimit is shared among all the search operations,
larger value might be required for other cases. To have its
own control, this patch introduces a new config parameter
nsslapd-rangelookthroughlimit for the range search.
Also, this patch replaced idl_union in index_range_read_ext
with idl_append_extend and sort the idlist at the end. It
improves the range search performance, but it is still slower
than just returning ALLID for the large db.
11 years, 4 months
Please review: [389 Project] #500: Newly created users with organizationalPerson objectClass fails to sync from AD to DS with missing attribute error
by Noriko Hosoi
https://fedorahosted.org/389/ticket/500
https://fedorahosted.org/389/attachment/ticket/500/0001-Trac-Ticket-500-N...
Bug description: Posix Account objectclass requires homeDirectory,
uidNumber, and gidNumber. When an AD entry has just some of these
attributes or other allow-to-have attributes, i.e., loginShell or
gecos, the entry is incompletely converted to Posix Account entry
and fails to be added due to the missing attribute error.
Fix description: Before transforming the AD entry to the DS posix
account entry, check the required attributes first. If any of the
above 3 attributes is missing, all of the posix account related
attributes are dropped and added to the DS as a non-posix account
entry. If the PLUGIN log level is set, this type of message is
logged in the error log.
[] posix-winsync - AD entry CN=<CN>,OU=<OU>,DC=<DC>,DC=<COM> does
not have MUST attribute uidNumber for posixAccount objectclass.
11 years, 4 months