Bug 1278567
Summary: | SimplePagedResults -- abandon could happen between the abandon check and sending results | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Noriko Hosoi <nhosoi> | |
Component: | 389-ds-base | Assignee: | Noriko Hosoi <nhosoi> | |
Status: | CLOSED ERRATA | QA Contact: | Viktor Ashirov <vashirov> | |
Severity: | urgent | Docs Contact: | Petr Bokoc <pbokoc> | |
Priority: | urgent | |||
Version: | 7.0 | CC: | jkurik, msauton, nhosoi, nkinder, pbokoc, rmeggins, spichugi | |
Target Milestone: | rc | Keywords: | ZStream | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | 389-ds-base-1.3.5.2-1.el7 | Doc Type: | Bug Fix | |
Doc Text: |
Abandon requests for simple paged results searches no longer cause a crash
Prior to this update, Directory Server could receive an abandon request for a simple paged results search after the abandon check was completed but before the results were fully sent. In this case, the abandon request was processed while the results were being sent, which caused Directory Server to crash. This update adds a lock which prevents abandon requests from being processed while the results are already being sent, and the crash no longer occurs.
|
Story Points: | --- | |
Clone Of: | ||||
: | 1278730 (view as bug list) | Environment: | ||
Last Closed: | 2016-11-03 20:37:06 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1278730 |
Description
Noriko Hosoi
2015-11-05 19:53:49 UTC
added "Internal Whiteboard" set to GSSApproved for rhel-7.2.z This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions Hi Noriko, could you please help me with a reproducing the bug? I've checked bz1247792 and tickets 48192 and 48338 but found nothing that can help to reproduce properly. I can write a python script (it would be lower level then using the openldap tools), if you'd advise me the proper order of actions for a reproducing. Hi Simon, Thanks for trying to verify this bug fix. Actually, this bug for the DS on rhel-6 was the original. https://bugzilla.redhat.com/show_bug.cgi?id=1247792 As we talked before, asynchronous Simple Paged Results searches from SSSD was freaky and the combination crashed the server quite often. When something goes wrong in the DS, SSSD sends an abandon request on the previous operation which was one of the causes of the crash. And #48338 fixed one case. The tough part is it's highly depends upon the timing... To verify 6.8 bug 1247792, Sankar ran the basic Simple Paged Results test cases. As it did not show any regressions, we asked him to set VERIFIED. We could do the same thing here, too. I remember you completed porting the Simple Paged Results test cases to 389 python tests with more cases. So, I think we are in better shape. If it passes all of the cases, I believe we could say VERIFIED. Thanks! Thank you, Noriko! Yes, I've ported all bash test suites and add some new ones. All of them passed. Build tested: 389-ds-base-1.3.5.6-1.el7.x86_64 ============================= test session starts ============================= platform linux2 -- Python 2.7.5, pytest-2.9.2, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python cachedir: suites/paged_results/.cache rootdir: /export/tests/suites/paged_results, inifile: plugins: html-1.8.1, cov-2.2.1 collected 24 items suites/paged_results/paged_results_test.py::test_search_success[6-5] PASSED suites/paged_results/paged_results_test.py::test_search_success[5-5] PASSED suites/paged_results/paged_results_test.py::test_search_success[5-25] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[50-200-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-idlistscanlimit-100-UNWILLING_TO_PERFORM] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[5-15-cn=config-nsslapd-timelimit-20-UNAVAILABLE_CRITICAL_EXTENSION] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-sizelimit-20-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[21-50-cn=config-nsslapd-pagedsizelimit-5-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_limits_fail[5-50-cn=config,cn=ldbm database,cn=plugins,cn=config-nsslapd-lookthroughlimit-20-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_sort_success PASSED suites/paged_results/paged_results_test.py::test_search_abandon PASSED suites/paged_results/paged_results_test.py::test_search_with_timelimit PASSED suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[dns = "localhost.localdomain"] PASSED suites/paged_results/paged_results_test.py::test_search_dns_ip_aci[ip = "::1"] PASSED suites/paged_results/paged_results_test.py::test_search_multiple_paging PASSED suites/paged_results/paged_results_test.py::test_search_invalid_cookie[1000] PASSED suites/paged_results/paged_results_test.py::test_search_invalid_cookie[-1] PASSED suites/paged_results/paged_results_test.py::test_search_abandon_with_zero_size PASSED suites/paged_results/paged_results_test.py::test_search_pagedsizelimit_success PASSED suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[5-15-PASS] PASSED suites/paged_results/paged_results_test.py::test_search_nspagedsizelimit[15-5-SIZELIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_limits[conf_attr_values1-PASS] PASSED suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values0-ADMINLIMIT_EXCEEDED] PASSED suites/paged_results/paged_results_test.py::test_search_paged_user_limits[conf_attr_values1-PASS] PASSED ========================= 24 passed in 96.85 seconds ========================= Marking as verified. 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. https://rhn.redhat.com/errata/RHSA-2016-2594.html |