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 2010/06/16 09:44:22 UTC

[jira] Updated: (DIRSERVER-1290) [Perf]Potential Speedup by returning a ref instead of a clone when asking for the RootDSE

     [ https://issues.apache.org/jira/browse/DIRSERVER-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny updated DIRSERVER-1290:
-----------------------------------------

    Fix Version/s: 2.0.0-RC2
                       (was: 2.0.0-RC1)

Perf issues are postponed to 2.0-RC2

> [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-RC2
>
>         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.