Bug 2189954 - RFE Improve reponse time to filters containing 'nsrole'
Summary: RFE Improve reponse time to filters containing 'nsrole'
Keywords:
Status: VERIFIED
Alias: None
Deadline: 2023-07-31
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: 389-ds-base
Version: 9.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 9.3
Assignee: thierry bordaz
QA Contact: LDAP QA Team
URL:
Whiteboard: sync-to-jira
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-04-26 14:54 UTC by thierry bordaz
Modified: 2023-07-26 12:57 UTC (History)
4 users (show)

Fixed In Version: 389-ds-base-2.3.4-3.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Enhancement
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 5722 0 None open RFE When a filter contains 'nsrole', improve response time by rewriting the filter. 2023-04-26 16:04:49 UTC
Red Hat Issue Tracker IDMDS-2980 0 None None None 2023-04-26 16:05:27 UTC
Red Hat Issue Tracker IDMDS-3477 0 None None None 2023-07-26 12:57:30 UTC
Red Hat Issue Tracker RHELPLAN-155860 0 None None None 2023-04-26 14:55:51 UTC

Description thierry bordaz 2023-04-26 14:54:44 UTC
Description of problem:

'nsrole' is a virtual attribute and is not indexed. With a poorly selective filter like below the search may be not indexed
     "(&(nsrole=cn=managed_role,cn=suffix)(objectclass=posixAccount)))"
    
The RFE is to rewrite the filter component containing 'nsrole' attribute type and assertion that are managed roles and filter roles

Comment 3 bsmejkal 2023-07-25 14:53:48 UTC
============================================================================================================ test session starts =============================================================================================================
platform linux -- Python 3.9.17, pytest-7.4.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.9.17', 'Platform': 'Linux-5.14.0-339.el9.x86_64-x86_64-with-glibc2.34', 'Packages': {'pytest': '7.4.0', 'pluggy': '0.13.1'}, 'Plugins': {'metadata': '3.0.0', 'html': '3.2.0', 'libfaketime': '0.1.2', 'flaky': '3.7.0'}}
389-ds-base: 2.3.4-3.el9
nss: 3.90.0-2.el9_2
nspr: 4.35.0-2.el9_2
openldap: 2.6.3-1.el9
cyrus-sasl: 2.1.27-21.el9
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests
configfile: pytest.ini
plugins: metadata-3.0.0, html-3.2.0, libfaketime-0.1.2, flaky-3.7.0
collected 8 items / 6 deselected / 2 selected                                                                                                                                                                                                

dirsrvtests/tests/suites/roles/basic_test.py::test_managed_and_filtered_role_rewrite PASSED                                                                                                                                            [ 50%]
dirsrvtests/tests/suites/roles/basic_test.py::test_not_such_entry_role_rewrite PASSED                                                                                                                                                  [100%]

========================================================================================== 2 passed, 6 deselected, 18 warnings in 127.66s (0:02:07) ==========================================================================================

Tests pass, however, we might need to adjust the wait time for import task in bdb . On slower machines it causes failure as the import task is still not done in the time limit.
It failed in gating but passes in 1mt.

Comment 6 bsmejkal 2023-07-26 09:46:38 UTC
As per comment #c3 marking as VERIFIED.


Note You need to log in before you can comment on or make changes to this bug.