You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2006/08/31 10:32:24 UTC
[jira] Closed: (DIRSERVER-175) Basic operations are very costly
[ http://issues.apache.org/jira/browse/DIRSERVER-175?page=all ]
Emmanuel Lecharny closed DIRSERVER-175.
---------------------------------------
Resolution: Fixed
Fixed
> Basic operations are very costly
> --------------------------------
>
> Key: DIRSERVER-175
> URL: http://issues.apache.org/jira/browse/DIRSERVER-175
> Project: Directory ApacheDS
> Issue Type: Improvement
> Components: ldap
> 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