the search:
ldapsearch -h localhost -x -b ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr -D cn=admin,dc=ot,dc=hr -w passwd objectClass=originatorPrefixID
slapd.conf:
# Indices to maintain index objectClass eq index uniqueID eq index bestMatchPrefix eq index originatorPrefixID eq
according to schema i have
ou=ou=sipDirektor | --------- ou=bestMatchPrefixList | ----------- bestMatchPrefix=<PREFIX>
|
------------------carrierPrefixID=<CARRIER_ID>
|
----------------originatorPrefixID=<ORIGIN_CARRIER_PREFIX>
here is an example of returned data:
# 041020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=041020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 041020 priority: 100 originator: 041020 originatorPrefixID: 041020 objectClass: top objectClass: originatorPrefixID
# 049010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=049010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049010 priority: 100 originator: 049010 originatorPrefixID: 049010 objectClass: top objectClass: originatorPrefixID
# 046010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=046010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 046010 priority: 100 originator: 046010 originatorPrefixID: 046010 objectClass: top objectClass: originatorPrefixID
# 049020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=049020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049020 priority: 100 originator: 049020 originatorPrefixID: 049020 objectClass: top objectClass: originatorPrefixID
# 078120, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=078120,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 078120 priority: 100 originator: 078120 originatorPrefixID: 078120 objectClass: top objectClass: originatorPrefixID
# 043010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr dn: originatorPrefixID=043010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 043010 priority: 100 originator: 043010 originatorPrefixID: 043010 objectClass: top objectClass: originatorPrefixID
Tihomir.
On Fri, Sep 18, 2009 at 12:33 AM, Quanah Gibson-Mount quanah@zimbra.comwrote:
--On Thursday, September 17, 2009 12:26 PM -0700 Quanah Gibson-Mount < quanah@zimbra.com> wrote:
--On Thursday, September 17, 2009 9:23 PM +0200 Tihomir Culjaga
tculjaga@gmail.com wrote:
so, can anyone help here ?
On Tue, Sep 15, 2009 at 8:34 PM, Tihomir Culjaga tculjaga@gmail.com wrote:
ok .. but the basic issue is still there ...
i do a complete search and it hangs right on the 1st entry i added with LDAP search ... it watis for 1 minute ...and at the end returns all 4 remaining entries...
Can you better define the search you are running? Is it a search for particular attr=value string? If so, is that attribute indexed?
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc
Zimbra :: the leader in open source messaging and collaboration
Tihomir Culjaga wrote:
the search:
ldapsearch -h localhost -x -b
ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr -D cn=admin,dc=ot,dc=hr -w passwd objectClass=originatorPrefixID
This was essential information; previously you led us to believe you were doing a simple search with no filter (defaulting to "(objectclass=*)"). If you don't provide accurate descriptions of what you're doing, you cannot expect to get correct analysis of your situation.
You have run into an architectural limitation of the back-bdb/hdb indexing mechanism. This problem is described in ITS#3343
http://www.openldap.org/its/index.cgi?findid=3343
with some solutions discussed in
http://www.openldap.org/lists/openldap-devel/200503/msg00012.html
and http://www.openldap.org/lists/openldap-devel/200810/msg00095.html
but no final decisions have been made yet on the ultimate solution. Each approach has different limitations and tradeoffs to consider...
slapd.conf:
# Indices to maintain index objectClass eq index uniqueID eq index bestMatchPrefix eq index originatorPrefixID eq
according to schema i have
ou=ou=sipDirektor | --------- ou=bestMatchPrefixList | ----------- bestMatchPrefix=<PREFIX> | ------------------carrierPrefixID=<CARRIER_ID> |
----------------originatorPrefixID=<ORIGIN_CARRIER_PREFIX>
here is an example of returned data:
# 041020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=041020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 041020 priority: 100 originator: 041020 originatorPrefixID: 041020 objectClass: top objectClass: originatorPrefixID
# 049010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=049010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049010 priority: 100 originator: 049010 originatorPrefixID: 049010 objectClass: top objectClass: originatorPrefixID
# 046010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=046010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 046010 priority: 100 originator: 046010 originatorPrefixID: 046010 objectClass: top objectClass: originatorPrefixID
# 049020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=049020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049020 priority: 100 originator: 049020 originatorPrefixID: 049020 objectClass: top objectClass: originatorPrefixID
# 078120, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=078120,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 078120 priority: 100 originator: 078120 originatorPrefixID: 078120 objectClass: top objectClass: originatorPrefixID
# 043010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=043010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 043010 priority: 100 originator: 043010 originatorPrefixID: 043010 objectClass: top objectClass: originatorPrefixID
Tihomir.
On Fri, Sep 18, 2009 at 12:33 AM, Quanah Gibson-Mount <quanah@zimbra.com mailto:quanah@zimbra.com> wrote:
--On Thursday, September 17, 2009 12:26 PM -0700 Quanah Gibson-Mount <quanah@zimbra.com <mailto:quanah@zimbra.com>> wrote: --On Thursday, September 17, 2009 9:23 PM +0200 Tihomir Culjaga <tculjaga@gmail.com <mailto:tculjaga@gmail.com>> wrote: so, can anyone help here ? On Tue, Sep 15, 2009 at 8:34 PM, Tihomir Culjaga <tculjaga@gmail.com <mailto:tculjaga@gmail.com>> wrote: ok .. but the basic issue is still there ... i do a complete search and it hangs right on the 1st entry i added with LDAP search ... it watis for 1 minute ...and at the end returns all 4 remaining entries... Can you better define the search you are running? Is it a search for particular attr=value string? If so, is that attribute indexed? --Quanah -- Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
Hello Howard, Quanah
Thanks for your help,it seems the workaround to increase the values helped:
What i did was to modify file servers/slapd/back-bdb/idl.h
#define BDB_IDL_LOGN 16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */
#define BDB_IDL_DB_SIZE (1<<(BDB_IDL_LOGN+1)) /* 64k => 128K */ #define BDB_IDL_UM_SIZE (1<<(BDB_IDL_LOGN+2)) /* 128k => 256k */
and recompile....after that, i recreated the DB from ldif and added some extra entries using ldapadd. The search returned all entries within a reasonable time ( 23 - 50 seconds).
# search result search: 2 result: 0 Success
# numResponses: 84256 # numEntries: 84255
real 0m35.044s user 0m1.521s sys 0m1.654s
T.
On Fri, Sep 18, 2009 at 8:45 AM, Howard Chu hyc@symas.com wrote:
Tihomir Culjaga wrote:
the search:
ldapsearch -h localhost -x -b ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr -D cn=admin,dc=ot,dc=hr -w passwd objectClass=originatorPrefixID
This was essential information; previously you led us to believe you were doing a simple search with no filter (defaulting to "(objectclass=*)"). If you don't provide accurate descriptions of what you're doing, you cannot expect to get correct analysis of your situation.
You have run into an architectural limitation of the back-bdb/hdb indexing mechanism. This problem is described in ITS#3343
http://www.openldap.org/its/index.cgi?findid=3343
with some solutions discussed in
http://www.openldap.org/lists/openldap-devel/200503/msg00012.html
and http://www.openldap.org/lists/openldap-devel/200810/msg00095.html
but no final decisions have been made yet on the ultimate solution. Each approach has different limitations and tradeoffs to consider...
slapd.conf:
# Indices to maintain index objectClass eq index uniqueID eq index bestMatchPrefix eq index originatorPrefixID eq
according to schema i have
ou=ou=sipDirektor | --------- ou=bestMatchPrefixList | ----------- bestMatchPrefix=<PREFIX>
| ------------------carrierPrefixID=<CARRIER_ID> | ----------------originatorPrefixID=<ORIGIN_CARRIER_PREFIX>
here is an example of returned data:
# 041020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=041020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 041020 priority: 100 originator: 041020 originatorPrefixID: 041020 objectClass: top objectClass: originatorPrefixID
# 049010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=049010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049010 priority: 100 originator: 049010 originatorPrefixID: 049010 objectClass: top objectClass: originatorPrefixID
# 046010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=046010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 046010 priority: 100 originator: 046010 originatorPrefixID: 046010 objectClass: top objectClass: originatorPrefixID
# 049020, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=049020,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 049020 priority: 100 originator: 049020 originatorPrefixID: 049020 objectClass: top objectClass: originatorPrefixID
# 078120, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=078120,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 078120 priority: 100 originator: 078120 originatorPrefixID: 078120 objectClass: top objectClass: originatorPrefixID
# 043010, 078120.100.10000.90, 1251, bestMatchPrefixList, sipDirektor, ot.hr http://ot.hr dn: originatorPrefixID=043010,carrierPrefixID=078120.100.10000.90,bestMatchPre fix=1251,ou=bestMatchPrefixList,ou=sipDirektor,dc=ot,dc=hr originatorPrefix: 043010 priority: 100 originator: 043010 originatorPrefixID: 043010 objectClass: top objectClass: originatorPrefixID
Tihomir.
On Fri, Sep 18, 2009 at 12:33 AM, Quanah Gibson-Mount <quanah@zimbra.com mailto:quanah@zimbra.com> wrote:
--On Thursday, September 17, 2009 12:26 PM -0700 Quanah Gibson-Mount <quanah@zimbra.com mailto:quanah@zimbra.com> wrote:
--On Thursday, September 17, 2009 9:23 PM +0200 Tihomir Culjaga <tculjaga@gmail.com <mailto:tculjaga@gmail.com>> wrote: so, can anyone help here ? On Tue, Sep 15, 2009 at 8:34 PM, Tihomir Culjaga <tculjaga@gmail.com <mailto:tculjaga@gmail.com>> wrote: ok .. but the basic issue is still there ... i do a complete search and it hangs right on the 1st entry i added with LDAP search ... it watis for 1 minute ...and at the end returns all 4 remaining entries...
Can you better define the search you are running? Is it a search for particular attr=value string? If so, is that attribute indexed?
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc
Zimbra :: the leader in open source messaging and collaboration
-- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
openldap-technical@openldap.org