Bug 1331343

Summary: Paged results search returns the blank list of entries
Product: Red Hat Enterprise Linux 7 Reporter: Simon Pichugin <spichugi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: urgent Docs Contact: Petr Bokoc <pbokoc>
Priority: urgent    
Version: 7.2CC: ekeck, mkolaja, nkinder, pbokoc, rmeggins
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: 389-ds-base- Doc Type: Bug Fix
Doc Text:
Simple paged results searches no longer return `0` instead of the actual results Previously, when a simple paged results slot in a connection was discarded due to an error such as `SIZELIMIT_EXCEEDED`, the discarded slot was not cleaned up properly. Subsequent searches which reused this slot then always returned `0`. With this update, discarded simple paged results slots are cleaned up correctly, and searches return correct results even with reused slots.
Story Points: ---
Clone Of:
: 1335107 (view as bug list) Environment:
Last Closed: 2016-11-03 20:41:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1335107    

Description Simon Pichugin 2016-04-28 10:41:41 UTC
Description of problem:
After series of actions, paged result search that should returns list of entries returns blank list of entries. It is hardly reproducible manually, but it is easy to reproduce with python automation.

Version-Release number:

How reproducible:

Step to reproduce: 
1. Create DS standalone instance
2. Create user for search operations
Run test for checking support of multiple paging controls on a single connection - Trac 260
3. Run test for abandon search request with setting page_size = 0
4. Run test for 'nsPagedSizeLimit = 5' and 'nsslapd-pagedsizelimit = 15', its override feature. Search with page size 10 - expect to fail.
5. Run test for 'nsPagedSizeLimit = 15' and 'nsslapd-pagedsizelimit = 5', its override feature. Search with page size 10 - expect to pass.

Actual results: 
On the last step search with paged results returns the blank list of entries. 

Expected results:
Search with 'nsPagedSizeLimit = 15' and 'nsslapd-pagedsizelimit = 5', should return all 10 requested entries.

Additional information: 
When I try to do it manually - everything is okay.
When I try to move last test case to another place (for example at the beginning), it is PASSed.
When I remove only "Test support multiple paging controls on a single connection" - last and other tests PASS
When I remove only "Abandon search request with setting page_size = 0" - last and other tests PASS
Also if switch the order of last two test cases, everything will PASS.

I do tear down with deleting users and setting attributes to the default values after each test case.

Upstream ticket - https://fedorahosted.org/389/ticket/48808

Comment 3 Simon Pichugin 2016-05-05 09:41:32 UTC
Build tested:

============================ test session starts ============================
platform linux2 -- Python 2.7.5, pytest-2.9.1, py-1.4.31, pluggy-0.3.1 -- /usr/bin/python
cachedir: dirsrvtests/tests/tickets/.cache
rootdir: /mnt/testarea/test/ds/dirsrvtests/tests/tickets, inifile:
plugins: cov-2.2.1
collected 1 items

dirsrvtests/tests/tickets/ticket48808_test.py::test_ticket48808 PASSED

========================== 1 passed in 6.09 seconds ==========================

Marking as verified.

Comment 4 Simon Pichugin 2016-05-06 10:38:01 UTC
Verification process was automated at repo - https://git.fedorahosted.org/cgit/389/ds.git/

Test case file is located at dirsrvtests/tests/tickets/ticket48808_test.py

Comment 10 errata-xmlrpc 2016-11-03 20:41:32 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.