Full_Name: Chris Card Version: 2.4.23 OS: Centos 5.4 URL: Submission from: (NULL) (91.194.158.133)
I am running slapd with a bdb back end, and using ldapsearch to query it.
My ldapsearch command looks like this:
ldapsearch -h localhost -x -b "..........." -D ".........." -w .... -E !sss=mail:caseIgnoreIA5Match -E !vlv=0/10/0/10
which returns the first 11 records and then prompts:
# search result search: 2 result: 0 Success control: 1.2.840.113556.1.4.474 false MAMKAQA= sortResult: (0) Success control: 2.16.840.1.113730.3.4.10 false MA8CAQACATkCAQAEBOhhowg= vlvResult: pos=0 count=57 context=6GGjCA== (0) Success
# numResponses: 12 # numEntries: 11 Press [before/after(/offset/count|:value)] Enter for the next window.
Then, when I press Enter ldapsearch outputs the following and exits:
# extended LDIF # # LDAPv3 # base <......> with scope subtree # filter: (objectclass=*) # requesting: ALL # with server side sorting critical control # with virtual list view critical control: 0/10/10/57 #
# search result search: 3 result: 4 Size limit exceeded
# numResponses: 1
If I then try the search again ldapsearch outputs:
# extended LDIF # # LDAPv3 # base <......> with scope subtree # filter: (objectclass=*) # requesting: ALL # with server side sorting critical control # with virtual list view critical control: 0/10/0/10 #
# search result search: 2 result: 51 Server is busy text: Other sort requests already in progress
# numResponses: 1
The "Size limit exceeded" error appears to come from slap_send_search_entry() in result.c:
if ( op->ors_slimit >= 0 && rs->sr_nentries >= op->ors_slimit ) { return LDAP_SIZELIMIT_EXCEEDED; }
because op->ors_slimit is 0 instead of SLAP_NO_LIMIT (-1).
If I do the ldapsearch with an explicit size limit, using the -z flag, e.g.
ldapsearch -h localhost -x -b "..........." -D ".........." -w .... -E !sss=mail:caseIgnoreIA5Match -E !vlv=0/10/0/10 -z 20
then I don't get the "Size limit exceeded" error, and all the records are output by ldapsearch with a prompt after each set of 11 records, but after all the records have been output there is a different error before ldapsearch exits:
# extended LDIF # # LDAPv3 # base <dc=blackspider,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL # with server side sorting critical control # with virtual list view critical control: 0/10/60/57 #
# search result search: 8 result: 76 Virtual List View error control: 2.16.840.1.113730.3.4.10 false MA8CATICATkCAU0EBHBFIQo= vlvResult: pos=50 count=57 context=cEUhCg== (77) Unknown error
# numResponses: 1
and again a subsequent ldapsearch request gets the "Server is busy" error.