directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <directory-...@incubator.apache.org>
Subject [jira] Created: (DIRLDAP-61) Basic operations are very costly
Date Mon, 17 Oct 2005 23:45:44 GMT
Basic operations are very costly
--------------------------------

         Key: DIRLDAP-61
         URL: http://issues.apache.org/jira/browse/DIRLDAP-61
     Project: Directory LDAP
        Type: Improvement
    Reporter: Emmanuel Lecharny


A basic operation like adding a single attribute call many times methods like parsing the
DN, or lookup the database. 

For instance, in the following test, where the attribute Description is added to an existing
entry, there are :
26 alls to DnParser("cn=tori amos,ou=system") method,
8 calls to DnParser("ou=services,ou=configuration,ou=system") method,
8 calls to DnParser("ou=configuration,ou=system") method,
8 calls to DnParser("ou=system") method.

For information, on my computer, 1 000 000 parsing of the DN "cn=tori amos,ou=system" is done
in 24,490s, so doing it 26 times cost around 0,6 ms.

Here are some logs demonstrating this issue :

    4945> --ModifyAddTest                 -- [ INFO] --------------> testAddExistingAttributeValue

    4946> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.asn1.ber.digester.rules.PrimitiveIntDecodeRule@194df96
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4947> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.ldap.common.berlib.asn1.decoder.modify.ModifyRequestEntryDnRule@11c55bb
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4949> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.asn1.ber.digester.rules.PrimitiveIntDecodeRule@1406eb6
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4949> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.ldap.common.berlib.asn1.decoder.modify.ModificationItemRule@1248f2b
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4950> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.ldap.common.berlib.asn1.decoder.modify.ModifyRequestAttributeValueRule@1336006
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4950> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.asn1.ber.digester.rules.PopOnFinish@1e536d6
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4951> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.ldap.common.berlib.asn1.decoder.modify.ModifyRequestRule@1735b26
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4952> --BERDigesterLoggingMonitor     -- [DEBUG] Rule org.apache.ldap.common.berlib.asn1.decoder.search.AndRule@1e708b2
fired successfully by digester org.apache.asn1.ber.digester.BERDigester@e2fbeb
    4952> --DnParser                      -- [DEBUG] Parsing DN 'cn=Tori Amos,ou=system'
    4953> --DnParser                      -- [DEBUG] Parsing DN 'cn=Tori Amos,ou=system'
    4955> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4955> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4956> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4957> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4957> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4959> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4962> --DefaultDirectoryPartitionNexus-- [DEBUG] Check if DN 'cn=tori amos,ou=system'
exists.
    4963> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4965> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4966> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4967> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4971> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4972> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4973> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4974> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4975> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4977> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4978> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4979> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4980> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4981> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4981> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4984> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4984> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4985> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4986> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4987> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4990> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4991> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4992> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4993> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4994> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    4996> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4997> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    4998> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    4998> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    4999> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5001> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    5002> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5003> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    5004> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5006> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    5007> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5009> --DnParser                      -- [DEBUG] Parsing DN 'ou=services,ou=configuration,ou=system'
    5010> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5011> --DnParser                      -- [DEBUG] Parsing DN 'ou=configuration,ou=system'
    5014> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5015> --DnParser                      -- [DEBUG] Parsing DN 'ou=system'
    5016> --DnParser                      -- [DEBUG] Parsing DN 'cn=tori amos,ou=system'
    5018> --ModifyAddTest                 -- [ INFO] <-------------- testAddExistingAttributeValue
with error

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message