Greetings OpenLDAP List!
I have a quick question about the context and meaning of messages which show when using slapd debug and how/whether they impact indexes and performance.
I recently ran into an issue where an attribute was not indexed, so I applied an index using #slapindex -F (config) (atr)
When starting the daemon in debug mode and doing a search, there are many entries regarding mdb equality and index failure (see below) However, if I re-import the data using slapadd, and run the same search, all of those messages go away.
I was hoping someone could assist with the meaning of the messages and why does it print the messages even after slapindex was run, but not if the olcDbIndex is added and then the ldif is re-imported?
In particular I'm seeing : 5ccb5ed0 <= mdb_index_read: failed (-30798) and it seems to then search all attributes within the candidates. But this doesn't occur if the data is reimported using slapadd.
Thank you! jh
Debug from before export but after slapindex (key) was run: 5ccb5ed0 connection_get(13): got connid=1004 5ccb5ed0 connection_read(13): checking for input on id=1004 ber_get_next ber_get_next: tag 0x30 len 52 contents: 5ccb5ed0 op tag 0x60, time 1556831952 callto:1556831952 ber_get_next 5ccb5ed0 conn=1004 op=1 do_bind ber_scanf fmt ({imt) ber: ber_scanf fmt (m}) ber: 5ccb5ed0 >>> dnPrettyNormal: <uid=jbh,cn=esx,cn=net> 5ccb5ed0 <<< dnPrettyNormal: <uid=jbh,cn=esx,cn=net>, <uid=jbh,cn=esx,cn=net> 5ccb5ed0 do_bind: version=3 dn="uid=jbh,cn=admins,cn=esx" method=128 5ccb5ed0 mdb_dn2entry("uid=jbh,cn=admins,cn=esx") 5ccb5ed0 => mdb_dn2id("uid=jbh,cn=admins,cn=esx") 5ccb5ed0 <= mdb_dn2id: got id=0x3 5ccb5ed0 => mdb_entry_decode: 5ccb5ed0 <= mdb_entry_decode 5ccb5ed0 do_bind: v3 bind: "uid=jbh,cn=admins,cn=esx" to "uid=jbh,cn=admins,cn=esx" 5ccb5ed0 send_ldap_result: conn=1004 op=1 p=3 5ccb5ed0 send_ldap_response: msgid=5 tag=97 err=0 ber_flush2: 14 bytes to sd 13 5ccb5ed0 connection_get(13): got connid=1004 5ccb5ed0 connection_read(13): checking for input on id=1004 ber_get_next ber_get_next: tag 0x30 len 72 contents: 5ccb5ed0 op tag 0x63, time 1556831952 callto:1556831952 ber_get_next 5ccb5ed0 conn=1004 op=2 do_search ber_scanf fmt ({miiiib) ber: 5ccb5ed0 >>> dnPrettyNormal: <cn=servers,cn=esx> 5ccb5ed0 <<< dnPrettyNormal: <cn=servers,cn=esx>, <cn=servers,cn=esx> ber_scanf fmt ({mm}) ber: ber_scanf fmt ({M}}) ber: 5ccb5ed0 ==> limits_get: conn=1004 op=2 self="uid=jbh,cn=admins,cn=esx" this="cn=servers,cn=esx" 5ccb5ed0 => mdb_search 5ccb5ed0 mdb_dn2entry("cn=servers,cn=esx") 5ccb5ed0 => mdb_dn2id("cn=servers,cn=esx") 5ccb5ed0 <= mdb_dn2id: got id=0xd 5ccb5ed0 => mdb_entry_decode: 5ccb5ed0 <= mdb_entry_decode 5ccb5ed0 search_candidates: base="cn=servers,cn=esx" (0x0000000d) scope=2 5ccb5ed0 => mdb_equality_candidates (objectClass) 5ccb5ed0 => key_read 5ccb5ed0 <= mdb_index_read: failed (-30798) 5ccb5ed0 <= mdb_equality_candidates: id=0, first=0, last=0 5ccb5ed0 => mdb_equality_candidates (cn) 5ccb5ed0 => key_read 5ccb5ed0 <= mdb_index_read 1 candidates 5ccb5ed0 <= mdb_equality_candidates: id=1, first=33, last=33 5ccb5ed0 mdb_search_candidates: id=1 first=33 last=33 5ccb5ed0 => mdb_entry_decode: 5ccb5ed0 <= mdb_entry_decode 5ccb5ed0 => send_search_entry: conn 1004 dn="cn=esxi-master.johnholder.net ,cn=servers,cn=esx" ber_flush2: 5545 bytes to sd 13esx 5ccb5ed0 <= send_search_entry: conn 1004 exit. 5ccb5ed0 send_ldap_result: conn=1004 op=2 p=3 5ccb5ed0 send_ldap_response: msgid=6 tag=101 err=0 ber_flush2: 14 bytes to sd 13 5ccb5ed0 slap_listener_activate(7): 5ccb5ed0 >>> slap_listener(ldap://host.esx.local:389) 5ccb5ed0 connection_get(14): got connid=1005 5ccb5ed0 connection_read(14): checking for input on id=1005 ber_get_next ber_get_next: tag 0x30 len 29 contents: 5ccb5ed0 op tag 0x77, time 1556831952 callto:1556831952 ber_get_next 5ccb5ed0 conn=1005 op=0 do_extended ber_scanf fmt ({m) ber: 5ccb5ed0 send_ldap_extended: err=0 oid= len=0 5ccb5ed0 send_ldap_response: msgid=1 tag=120 err=0 ber_flush2: 14 bytes to sd 14
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon Virus-free. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
--On Wednesday, May 08, 2019 1:02 PM -0700 John Holder john@johnholder.net wrote:
Greetings OpenLDAP List!
I have a quick question about the context and meaning of messages which show when using slapd debug and how/whether they impact indexes and performance.
I recently ran into an issue where an attribute was not indexed, so I applied an index using #slapindex -F (config) (atr)
When starting the daemon in debug mode and doing a search, there are many entries regarding mdb equality and index failure (see below) However, if I re-import the data using slapadd, and run the same search, all of those messages go away.
I was hoping someone could assist with the meaning of the messages and why does it print the messages even after slapindex was run, but not if the olcDbIndex is added and then the ldif is re-imported?
Hi John,
The olcDbIndex must be added *prior* to running slapindex on the attribute. Running slapindex on an attribute that does not have an olcDbIndex value is a no-op.
Regards, Quanah
--
Quanah Gibson-Mount Product Architect Symas Corporation Packaged, certified, and supported LDAP solutions powered by OpenLDAP: http://www.symas.com
openldap-technical@openldap.org