Bug 1739182 - CleanAllRUV task limit not enforced
Summary: CleanAllRUV task limit not enforced
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base
Version: 7.7
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: mreynolds
QA Contact: RHDS QE
Marc Muehlfeld
Depends On:
Blocks: 1739183 1767622
TreeView+ depends on / blocked
Reported: 2019-08-08 17:16 UTC by mreynolds
Modified: 2020-09-13 22:22 UTC (History)
8 users (show)

Fixed In Version: 389-ds-base-
Doc Type: Bug Fix
Doc Text:
.Directory Server now also applies limits for maximum concurrent `cleanAllRUV` tasks received from extended operations Directory Server supports up to 64 concurrent `cleanAllRUV` tasks. Previously, Directory Server applied this limit only to manually created tasks and not to tasks the server received from extended operations. As a consequence, more than 64 concurrent `cleanAllRUV` tasks could run at the same time and slow down the server. This update adds a counter to track the number of clean tasks and abort threads. As a result, only up to 64 concurrent `cleanAllRUV` tasks can run at the same time.
Clone Of:
: 1739183 1767622 (view as bug list)
Last Closed: 2020-03-31 19:46:14 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 3594 0 None None None 2020-09-13 22:22:19 UTC
Red Hat Product Errata RHBA-2020:1064 0 None None None 2020-03-31 19:46:55 UTC

Description mreynolds 2019-08-08 17:16:13 UTC
Description of problem:

There is a limit on the number of cleanAllRUV tasks that can be running at once.  But this limit is not checked for incoming replicated tasks.  It is only checked when the original task is created.  This can allow for thousands of clean tasks/threads to be created.

The limit needs to be checked when cleanallruv extended operations are received.

This bug is created as a clone of upstream ticket:

Comment 3 bsmejkal 2019-09-16 12:23:01 UTC
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.6.3, pytest-5.1.2, py-1.8.0, pluggy-0.13.0 -- /opt/rh/rh-python36/root/usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.6.3', 'Platform': 'Linux-3.10.0-1090.el7.x86_64-x86_64-with-redhat-7.8-Maipo', 'Packages': {'pytest': '5.1.2', 'py': '1.8.0', 'pluggy': '0.13.0'}, 'Plugins': {'metadata': '1.8.0', 'html': '2.0.0'}}
nss: 3.44.0-5.el7
nspr: 4.21.0-1.el7
openldap: 2.4.44-21.el7_6
cyrus-sasl: 2.1.26-23.el7
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests, inifile: pytest.ini
plugins: metadata-1.8.0, html-2.0.0
collected 1 item                                                                                                                                                                                                  

dirsrvtests/tests/suites/replication/cleanallruv_max_tasks_test.py::test_max_tasks  PASSED                                                                                                                [100%]

========================================================================================== 1 passed in 433.85s (0:07:13) ==========================================================================================

Marking as VERIFIED.

Comment 8 errata-xmlrpc 2020-03-31 19:46:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


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