[
https://issues.apache.org/jira/browse/DIRSERVER-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny updated DIRSERVER-1290:
-----------------------------------------
Attachment: rootDse.txt
A patch (created from apacheds sub-project)
> [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.