[ https://issues.apache.org/jira/browse/DIRSERVER-918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lecharny updated DIRSERVER-918: ---------------------------------------- Affects Version/s: 1.0.2 1.5.0 Fix Version/s: pre-2.0 Postponed to 2.0 > Storing DN within attributes > ---------------------------- > > Key: DIRSERVER-918 > URL: https://issues.apache.org/jira/browse/DIRSERVER-918 > Project: Directory ApacheDS > Issue Type: Improvement > Affects Versions: 1.0.2, 1.5.0 > Reporter: Emmanuel Lecharny > Fix For: pre-2.0 > > > Attributes are stored into the Master table, and the associated DN is stored > in another table. If we store the LdapDN into an object containing also the > Attributes, we will avoid many DN parsing in the server : > - the ReferralService tries to check if a DN is a referral, and has to parse > the UpDN found into the updn index > - the CollectiveAttributeService is also doing this normalization > - the DefaultAuthorizationService method isSearchable method normalize a DN > which is stored into the invocation stack : this DN has already been parsed > - the searchResponseIterator constructor parse the DN too. > All those useless normalization could be avoided if we store the normalized > DN into the backend. The gain is important : on a search test, search for > 2705 entries, it cost 12% of all the time spent into the server. This is > around 4 times the initial DN parsing cost (in the codec). > Now, if we store the normalized form, we will have to pay a price for it : > more time to deserialize this added element, which is one of the most costly > operation (15% of all the time). > Another option could be to parse this updn only once, and to set it into the > searchResult object which is created. > As we are using the javax.naming.Searchresult object, which stores the DN as > a String, we will then have to create a new class to handle a LdapDN instead > of a String. > The expected gain should be around 10%, which is far from being negligible. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.