[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: testing indexing in v2



At 05:17 PM 7/25/00 -0500, Randy Kunkee wrote:
>Is it too early to be testing indexes in v2?

No.

>I've loaded a rather large
>database into it to test, but simple equality searches seem to devolve
>into scans of the entire database.

Try adding:

index objectClass eq


>Below is some debug output to ponder.  By the way, the first two candidates
>it says matches the filter don't.

They likely match the search candidates filter (the search
filter as modified to include alias and referral objects that
are within scope).

>I've manually edited the debug output
>to hide the identity of my client, but it retains the basic information
>needed to see what happenned.
>
>ber_get_next on fd 7 failed errno=35 (Operation would block)
>do_search
>ber_scanf fmt ({aiiiib) ber:
>SRCH "o=myorg.org" 2 0    0 0 0
>begin get_filter
>EQUALITY
>ber_scanf fmt ({oo}) ber:
>end get_filter 0
>    filter: (uid=100007)
>ber_scanf fmt ({v}}) ber:
>    attrs:
>=> ldbm_back_search
>dn2entry_r: dn: "O=MYORG.ORG"
>=> dn2id( "O=MYORG.ORG" )
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/dn2id.dbb", 7, 600 )
>ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 9)
><= ldbm_cache_open (opened 0)
><= dn2id 926
>=> id2entry_r( 926 )
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/id2entry.dbb", 7, 600 )
>ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 9)
><= ldbm_cache_open (opened 1)
>=> str2entry
><= str2entry(o=myorg.org) -> -1 (0x1400935e0)
>entry_rdwr_rlock: ID: 926
><= id2entry_r( 926 ) 0x1400935e0 (disk)
>search_candidates: base="O=MYORG.ORG" s=2 d=0
>=> filter_candidates
>        AND
>=> list_candidates 0xa0
>=> filter_candidates
>        DN SUBTREE
>=> dn2idl( "@O=MYORG.ORG" )
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/dn2id.dbb", 7, 600 )
><= ldbm_cache_open (cache 0)
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/nextid.dbb", 7, 600 )
>ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 9)
><= ldbm_cache_open (opened 2)
><= filter_candidates 238844
>=> filter_candidates
>        OR
>=> list_candidates 0xa1
>=> filter_candidates
>        EQUALITY
>=> equality_candidates
><= filter_candidates 238844
>=> filter_candidates
>        EQUALITY
>=> equality_candidates
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/uid.dbb", 16384, 600 )
>ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 9)
><= ldbm_cache_open (opened 3)
>=> key_read
><= index_read 26 candidates
><= equality_candidates 26
><= filter_candidates 26
><= list_candidates 238844
><= filter_candidates 238844
><= list_candidates 238844
><= filter_candidates 238844
>entry_rdwr_runlock: ID: 926
>====> cache_return_entry_r( 926 ): created (0)
>=> id2entry_r( 1 )
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/id2entry.dbb", 7, 600 )
><= ldbm_cache_open (cache 1)
>=> str2entry
><= str2entry(ng=myorg.00-1,uid=10001,o=myorg.org) -> 
>-1 (0x140093a00)
>entry_rdwr_rlock: ID: 1
><= id2entry_r( 1 ) 0x140093a00 (disk)
>=> test_filter
>    EQUALITY
><= test_filter 5
>candidate 1 does match filter
>entry_rdwr_runlock: ID: 1
>====> cache_return_entry_r( 1 ): created (0)
>daemon: select: listen=6 active_threads=1 tvp=NULL
>=> id2entry_r( 2 )
>=> ldbm_cache_open( "/disk8/OpenLDAP2.0-db/id2entry.dbb", 7, 600 )
><= ldbm_cache_open (cache 1)
>=> str2entry
><= str2entry(ng=myorg.00-2,uid=10002,o=myorg.org) ->
> -1 (0x140093d00)
>entry_rdwr_rlock: ID: 2
><= id2entry_r( 2 ) 0x140093d00 (disk)
>=> test_filter
>    EQUALITY
><= test_filter 5
>candidate 2 does match filter
>entry_rdwr_runlock: ID: 2
>
>etc.
>
>Randy