Bug 2225168 - Large update of a group can exhaust workers and the LDAP server appears unresponsive
Summary: Large update of a group can exhaust workers and the LDAP server appears unres...
Keywords:
Status: ASSIGNED
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: 389-ds-base
Version: 8.7
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: thierry bordaz
QA Contact: LDAP QA Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-24 13:05 UTC by thierry bordaz
Modified: 2023-08-16 16:07 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-163142 0 None None None 2023-07-24 13:09:25 UTC

Description thierry bordaz 2023-07-24 13:05:30 UTC
Description of problem:
When memberof plugin is enabled, an update of a group can trigger many nested updates of its members. The value of 'memberof' is changed in those members. As a consequence many database pages associated to the index 'memberof' are held (write) by the parent TXN (update of the group).

Any search request, that need access to those pages (i.e. filter contains (memberof=cn=my_group,dc=com)) is stuck until the update TXN commits.

If the number of such searches requests is as high as the number of workers, all workers may be busy+locked until the TXN commits. During that time the server may receive new requests that will not be processed until the TXN commits. As a consequence the LDAP server appears unresponsive.


Version-Release number of selected component (if applicable):
All versions RHEL7/8/9


How reproducible:
Systematically. See next update


Actual results:
The server becomes unresponsive


Expected results:
The server should stay responsive


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