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)" <di...@incubator.apache.org> on 2005/10/18 01:45:44 UTC
[jira] Created: (DIRLDAP-61) Basic operations are very costly
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
[jira] Updated: (DIRSERVER-175) Basic operations are very costly
Posted by "Alex Karasulu (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRSERVER-175?page=all ]
Alex Karasulu updated DIRSERVER-175:
------------------------------------
Component: ldap
> Basic operations are very costly
> --------------------------------
>
> Key: DIRSERVER-175
> URL: http://issues.apache.org/jira/browse/DIRSERVER-175
> Project: Directory ApacheDS
> Type: Bug
> 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
[jira] Updated: (DIRSERVER-175) Basic operations are very costly
Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRSERVER-175?page=all ]
Emmanuel Lecharny updated DIRSERVER-175:
----------------------------------------
type: Improvement (was: Bug)
Again, not a bug !
> Basic operations are very costly
> --------------------------------
>
> Key: DIRSERVER-175
> URL: http://issues.apache.org/jira/browse/DIRSERVER-175
> Project: Directory ApacheDS
> 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
[jira] Closed: (DIRSERVER-175) Basic operations are very costly
Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
[ 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