You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2013/03/01 16:11:13 UTC
[jira] [Resolved] (OAK-399) RootImpl(NodeStore store) does not use
configured index providers
[ https://issues.apache.org/jira/browse/OAK-399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig resolved OAK-399.
-------------------------------
Resolution: Fixed
Fix Version/s: 0.7
> RootImpl(NodeStore store) does not use configured index providers
> -----------------------------------------------------------------
>
> Key: OAK-399
> URL: https://issues.apache.org/jira/browse/OAK-399
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Affects Versions: 0.5
> Reporter: Marcel Reutegger
> Fix For: 0.7
>
>
> The LoginModuleImpl (actually in the base class AbstractLoginModule.getRoot()) creates a RootImpl without any QueryIndexProviders. This results in very poor query performance when the userId is resolved in the IdentifierManager:
> at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getProperty(MemoryNodeBuilder.java:331)
> at org.apache.jackrabbit.oak.core.TreeImpl.internalGetProperty(TreeImpl.java:527)
> at org.apache.jackrabbit.oak.core.TreeImpl.getProperty(TreeImpl.java:143)
> at org.apache.jackrabbit.oak.query.ast.SelectorImpl.currentProperty(SelectorImpl.java:249)
> at org.apache.jackrabbit.oak.query.ast.PropertyValueImpl.currentProperty(PropertyValueImpl.java:98)
> at org.apache.jackrabbit.oak.query.ast.ComparisonImpl.evaluate(ComparisonImpl.java:64)
> at org.apache.jackrabbit.oak.query.ast.SelectorImpl.next(SelectorImpl.java:146)
> at org.apache.jackrabbit.oak.query.Query$RowIterator.fetchNext(Query.java:447)
> at org.apache.jackrabbit.oak.query.Query$RowIterator.hasNext(Query.java:471)
> at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUID(IdentifierManager.java:294)
> at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUID(IdentifierManager.java:283)
> at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:117)
> at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByID(AuthorizableBaseProvider.java:43)
> at org.apache.jackrabbit.oak.security.user.UserProvider.getAuthorizable(UserProvider.java:176)
> at org.apache.jackrabbit.oak.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:93)
> at org.apache.jackrabbit.oak.security.authentication.user.UserAuthentication.authenticate(UserAuthentication.java:82)
> at org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl.login(LoginModuleImpl.java:120)
> The query engine basically has to traverse the whole repository to find the node with the given jcr:uuid.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira