[ 
https://issues.apache.org/jira/browse/JCR-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15901268#comment-15901268
 ] 

Julian Reschke commented on JCR-2690:
-------------------------------------

The Jackrabbit version, not the API version...

Please check META-INF/MNIFEST.MF in the JAR file(s).

> Cache of o.a.j.c.security.authorization.AbstractCompiledPermissions should be 
> configurable
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-2690
>                 URL: https://issues.apache.org/jira/browse/JCR-2690
>             Project: Jackrabbit Content Repository
>          Issue Type: Sub-task
>          Components: security
>    Affects Versions: 2.1
>            Reporter: Honwai Wong
>            Assignee: angela
>            Priority: Minor
>
> It seems that the LRUMap used to cache permission-results may be too small 
> for large repositories. It is currently hardcoded to 1000. Thread dump show 
> that threads are blocked while reading ACL information from the repository 
> instead of returning them from the cache:
> java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:167)
>       - waiting to lock <0x00002aaae4045558> (a 
> org.apache.jackrabbit.core.state.LocalItemStateManager)
>       at 
> org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:200)
>       at 
> org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(HierarchyManagerImpl.java:152)
>       at 
> org.apache.jackrabbit.core.HierarchyManagerImpl.resolvePath(HierarchyManagerImpl.java:115)
>       at 
> org.apache.jackrabbit.core.CachingHierarchyManager.resolvePath(CachingHierarchyManager.java:151)
>       at 
> org.apache.jackrabbit.core.HierarchyManagerImpl.resolveNodePath(HierarchyManagerImpl.java:372)
>       at 
> org.apache.jackrabbit.core.ItemManager.nodeExists(ItemManager.java:484)
>       at 
> org.apache.jackrabbit.core.SessionImpl.nodeExists(SessionImpl.java:1446)
>       at 
> org.apache.jackrabbit.core.security.authorization.acl.ACLProvider$AclPermissions.buildResult(ACLProvider.java:379)
>       at 
> org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions.getResult(AbstractCompiledPermissions.java:50)
>       - locked <0x00002aadb4503618> (a 
> org.apache.commons.collections.map.LRUMap)
>       at 
> org.apache.jackrabbit.core.security.authorization.AbstractCompiledPermissions.grants(AbstractCompiledPermissions.java:86)
>       at 
> org.apache.jackrabbit.core.security.DefaultAccessManager.isGranted(DefaultAccessManager.java:246)
>       at 
> org.apache.jackrabbit.core.security.DefaultAccessManager.isGranted(DefaultAccessManager.java:234)
>       at org.apache.jackrabbit.core.ItemManager.canRead(ItemManager.java:447)
> The size of the LRUMap used by 
> o.a.j.c.security.authorization.AbstractCompiledPermissions should ideally be 
> configurable to allow for adjusting this cache to improve permission lookup.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to