[ 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 [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4947> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4949> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4949> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4950> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4950> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4951> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 4952> --BERDigesterLoggingMonitor -- [DEBUG] Rule [EMAIL PROTECTED]
> fired successfully by digester [EMAIL PROTECTED]
> 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