Hi All,

We are searching with same filter but with two different search bases and we 
are seeing results to be different.

Case1: (working case)
Search filter: (cn=monitorsoapnode*)
Search base: o=itsmydomain.com
Search result:
cn=monitorsoapnode@np-m910-45-4,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com<mailto:cn=monitorsoapnode@np-m910-45-4,cn=soap%20nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com>
cn=monitorsoapnode@ np-m910-87-8,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com

Case2: (not working case)
Search filter: (cn=monitorsoapnode*)
Search base: cn=ucloud,o=itsmydomain.com
Search result:
cn=monitorsoapnode@np-m910-45-4,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com<mailto:cn=monitorsoapnode@np-m910-45-4,cn=soap%20nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com>

It is observed that with search base 
"o=system,cn=cordys,cn=ucloud,o=itsmydomain.com" we are getting the expected 
results.
We are seeing this behaviour with hdb database, but not with bdb. But we want 
to stick to hdb only.  Is there any workaround to fix the issue(something like 
changing the configuration settings)?
It is also observed that in both cases bdb_substring_candidates value is 2 but 
bdb_search_candidates  value is different.  I am not sure if this observation 
is relevant or not.


You can check the logs  for working and not working cases below. Please help.

########Not working case log ##################
<= send_search_entry: conn 1000 exit.
send_ldap_result: conn=1000 op=8 p=3
send_ldap_response: msgid=9 tag=101 err=0
ber_flush2: 14 bytes to sd 12
connection_get(12): got connid=1000
connection_read(12): checking for input on id=1000
ber_get_next
connection_get(12): got connid=1000
connection_read(12): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 118 contents:
op tag 0x63, time 1409136356
ber_get_next
conn=1000 op=9 do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <cn=ucloud,o=itsmydomain.com>
<<< dnPrettyNormal: <cn=ucloud,o=itsmydomain.com>, <cn=ucloud,o=itsmydomain.com>
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({M}}) ber:
=> get_ctrls
ber_scanf fmt ({m) ber:
=> get_ctrls: oid="2.16.840.1.113730.3.4.2" (noncritical)
<= get_ctrls: n=1 rc=0 err=""
=> hdb_search
bdb_dn2entry("cn=ucloud,o=itsmydomain.com")
search_candidates: base="cn=ucloud,o=itsmydomain.com" (0x00000002) scope=2
=> hdb_dn2idl("cn=ucloud,o=itsmydomain.com")
=> bdb_substring_candidates (cn)
=> key_read
<= bdb_index_read 6 candidates
=> key_read
<= bdb_index_read 33 candidates
=> key_read
<= bdb_index_read 3 candidates
=> key_read
<= bdb_index_read 17 candidates
=> key_read
<= bdb_index_read 6 candidates
=> key_read
<= bdb_index_read 18 candidates
<= bdb_substring_candidates: 2, first=267, last=198029
bdb_search_candidates: id=1 first=267 last=267
=> send_search_entry: conn 1000 dn="cn=monitorsoapnode@np-m910-45-4,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com<mailto:cn=monitorsoapnode@np-m910-45-4,cn=soap%20nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com>"
ber_flush2: 140 bytes to sd 12
<= send_search_entry: conn 1000 exit.
send_ldap_result: conn=1000 op=9 p=3
send_ldap_response: msgid=10 tag=101 err=0
ber_flush2: 14 bytes to sd 12

########Working case log ##################
<= send_search_entry: conn 1000 exit.
send_ldap_result: conn=1000 op=9 p=3
send_ldap_response: msgid=10 tag=101 err=0
ber_flush2: 14 bytes to sd 12
connection_get(12): got connid=1000
connection_read(12): checking for input on id=1000
ber_get_next
connection_get(12): got connid=1000
connection_read(12): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 108 contents:
op tag 0x63, time 1409136444
ber_get_next
conn=1000 op=10 do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <o=itsmydomain.com>
<<< dnPrettyNormal: <o=itsmydomain.com>, <o=itsmydomain.com>
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({M}}) ber:
=> get_ctrls
ber_scanf fmt ({m) ber:
=> get_ctrls: oid="2.16.840.1.113730.3.4.2" (noncritical)
<= get_ctrls: n=1 rc=0 err=""
=> hdb_search
bdb_dn2entry("o=itsmydomain.com")
search_candidates: base="o=itsmydomain.com" (0x00000001) scope=2
=> hdb_dn2idl("o=itsmydomain.com")
=> bdb_substring_candidates (cn)
=> key_read
<= bdb_index_read 6 candidates
=> key_read
<= bdb_index_read 33 candidates
=> key_read
<= bdb_index_read 3 candidates
=> key_read
<= bdb_index_read 17 candidates
=> key_read
<= bdb_index_read 6 candidates
=> key_read
<= bdb_index_read 18 candidates
<= bdb_substring_candidates: 2, first=267, last=198029
bdb_search_candidates: id=2 first=267 last=198029
=> send_search_entry: conn 1000 dn="cn=monitorsoapnode@np-m910-45-4,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com<mailto:cn=monitorsoapnode@np-m910-45-4,cn=soap%20nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com>"
ber_flush2: 140 bytes to sd 12
<= send_search_entry: conn 1000 exit.
=> send_search_entry: conn 1000 dn="cn=monitorsoapnode@np-m910-87-8,cn=soap 
nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com<mailto:cn=monitorsoapnode@np-m910-87-8,cn=soap%20nodes,o=system,cn=cordys,cn=ucloud,o=itsmydomain.com>"
ber_flush2: 140 bytes to sd 12
<= send_search_entry: conn 1000 exit.
send_ldap_result: conn=1000 op=10 p=3
send_ldap_response: msgid=11 tag=101 err=0
ber_flush2: 14 bytes to sd 12

Slapd config details you may be interested in are as follows

####### Config details start ######
database      hdb
suffix "o= itsmydomain.com"
rootdn "cn=Directory Manager,o= itsmydomain.com"
rootpw {SSHA}4tqAhskuvQm3wFz9EI3lqLI8pRRs6IfI

sizelimit 2000
index default pres,eq
index cn pres,eq,sub
index objectClass eq
index entryCSN,entryUUID eq
index authenticationuser pres,eq,sub
index osidentity pres,eq,sub
cachesize 5000
checkpoint 1024 10

####### Config details end ######


Regards,
Jegan.

Reply via email to