Bug 48801

Summary: univention-join slowed down by missing indices
Product: UCS Reporter: Daniel Tröder <troeder>
Component: LDAPAssignee: Arvid Requate <requate>
Status: CLOSED FIXED QA Contact: Erik Damrose <damrose>
Severity: normal    
Priority: P5 CC: damrose, requate
Version: UCS 4.4   
Target Milestone: UCS 4.4   
Hardware: Other   
OS: Linux   
What kind of report is it?: Bug Report What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 5: Will affect all installed domains How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.114 Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:
Bug Depends on: 47944    
Bug Blocks: 47940    

Description Daniel Tröder univentionstaff 2019-02-27 09:29:48 CET
univention-join is slowed down because of missing indices.

/var/log/syslog:
Feb 26 18:22:26 m66 slapd[1728]: <= mdb_equality_candidates: (univentionDataType) not indexed
Comment 1 Arvid Requate univentionstaff 2019-03-06 17:59:03 CET
The following attributes have been added since UCS 4.3-2, which are not marked as "dontsearch" in the respective UDM modules, so I guess they should all be indexed:

univentionData                       (eq, sub)
univentionDataType                   (eq, sub)
univentionDataMeta                   (eq, sub)
univentionDataFilename               (eq, sub)

univentionPortalLinks                (eq, sub)
univentionPortalContent              (eq, sub)
univentionPortalCategoryDisplayName  (eq, sub)

univentionUDMOptionIsApp             (eq)

With univentionUDMOptionIsApp it's a bit the question if we want to index that, becasue it's boolean and it doesn't make much sense to include in the search for "default properties" in the first place. The same could be said about the majority of other attributes above.

Additional extended attributes with doNotSearch=0:

univentionRadiusClientVirtualServer  (eq, sub) 
univentionRadiusClientType           (eq, sub)
Comment 2 Arvid Requate univentionstaff 2019-03-06 18:17:03 CET
Ok, as Florian explained to me the properties without "dontsearch" flag are just searchable explicitly in the udm_ldap browser UMC module.

The properties included in the standard "Default Properties" object search filter have to marked as "include_in_default_search". None of the attributes mentioned in Comment 1 fulfills this criterion. So it's not a "hot" use case to search for these attributes and we probably don't need to index them.


Do just add univentionDataType, which is explicitly searched for in the new univention-join-hooks script (via udm_module.lookup).
Comment 3 Daniel Tröder univentionstaff 2019-03-07 08:34:13 CET
(In reply to Arvid Requate from comment #2)
> Do just add univentionDataType, which is explicitly searched for in the new
> univention-join-hooks script (via udm_module.lookup).
OK. A quick scan of the UCS git repo turned up only LDAP filters using univentionDataType.

univentionDataMeta ist evaluated only in code and not in a filter (e.g. https://git.knut.univention.de/univention/ucs/blob/dtroeder/40609_prevent_forged_sender/mail/univention-mail-postfix/modules/univention/mail/sender_check_milter_base.py#L90).
So IMHO it's not (yet) necessary to index it.
Comment 4 Arvid Requate univentionstaff 2019-03-07 16:18:01 CET
d1d68d4a47 | Add univentionDataType to default LDAP index

Package: univention-ldap
Version: 15.0.0-14A~4.4.0.201903071515
Branch: ucs_4.4-0
Comment 5 Erik Damrose univentionstaff 2019-03-07 17:28:13 CET
OK: univentionDataMeta in eq index
OK: changelog
Verified
Comment 6 Florian Best univentionstaff 2019-03-12 13:40:44 CET
UCS 4.4 has been released:
 https://docs.software-univention.de/release-notes-4.4-0-en.html
 https://docs.software-univention.de/release-notes-4.4-0-de.html

If this error occurs again, please use "Clone This Bug".