jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinayak (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCR-2690) Cache of o.a.j.c.security.authorization.AbstractCompiledPermissions should be configurable
Date Wed, 08 Mar 2017 13:57:38 GMT

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

Vinayak commented on JCR-2690:
------------------------------

These are all the versions

> 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)

Mime
View raw message