directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRSERVER-1290) [Perf]Potential Speedup by returning a ref instead of a clone when asking for the RootDSE
Date Mon, 17 Nov 2008 17:55:44 GMT
[Perf]Potential Speedup by returning a ref instead of a clone when asking for the RootDSE
-----------------------------------------------------------------------------------------

                 Key: DIRSERVER-1290
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1290
             Project: Directory ApacheDS
          Issue Type: Improvement
    Affects Versions: 1.5.4
            Reporter: Emmanuel Lecharny
             Fix For: 2.0.0-RC1
         Attachments: rootDse.txt

We can speedup the server if we don't clone the rootDSE when we simply need to check for the
presence of some values, like in protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/SearchHandler.java
:

         DirectoryService ds = session.getCoreSession().getDirectoryService();
         PartitionNexus nexus = ds.getPartitionNexus();
         Value<?> subschemaSubentry = nexus.getRootDSE( null ).get( SchemaConstants.SUBSCHEMA_SUBENTRY_AT
).get();
         LdapDN subschemaSubentryDn = new LdapDN( ( String ) ( subschemaSubentry.get() ) );
         subschemaSubentryDn.normalize( ds.getRegistries().getAttributeTypeRegistry().getNormalizerMapping()
);
         String subschemaSubentryDnNorm = subschemaSubentryDn.getNormName();

when we call the getRootDSE method, we get back a clone, and this is done once per search.
We just need the SubschemaSubentry attribute's value here, and we won't change it.

We could create a getRootDseRef() which returns a reference to the rootDSE object.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message