jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-2256) MemoryNodeBuilder NPE on base() following root refresh
Date Fri, 07 Nov 2014 16:48:34 GMT

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

Michael Dürig commented on OAK-2256:
------------------------------------

AFICS this is caused by the changes introduced with OAK-2255. To acquire the permission provider
a call to {{MemoryNodeBuilder.base}} is performed on the same instance concurrently from different
observation threads. This is bound to fail as {{NodeBuilder}} instances are not thread safe.


I see whether I can come up with a better way to acquire the permission provider for observation.


> MemoryNodeBuilder NPE on base() following root refresh
> ------------------------------------------------------
>
>                 Key: OAK-2256
>                 URL: https://issues.apache.org/jira/browse/OAK-2256
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: Alex Parvulescu
>
> I'm not sure yet how to reproduce this but I've seen it happening testing with patches
from OAK-2254 and OAK-2255 included.
> {code}
> java.lang.NullPointerException: null
> 	at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.base(MemoryNodeBuilder.java:189)
> 	at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getBaseState(MemoryNodeBuilder.java:268)
> 	at org.apache.jackrabbit.oak.core.MutableRoot.getBaseState(MutableRoot.java:337)
> 	at org.apache.jackrabbit.oak.core.ImmutableRoot.<init>(ImmutableRoot.java:57)
> 	at org.apache.jackrabbit.oak.core.ImmutableRoot.getInstance(ImmutableRoot.java:74)
> 	at org.apache.jackrabbit.oak.security.authorization.permission.PermissionProviderImpl.getImmutableRoot(PermissionProviderImpl.java:177)
> 	at org.apache.jackrabbit.oak.security.authorization.permission.PermissionProviderImpl.<init>(PermissionProviderImpl.java:65)
> 	at org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl.getPermissionProvider(AuthorizationConfigurationImpl.java:190)
> 	at org.apache.jackrabbit.oak.jcr.observation.ObservationManagerImpl$1.create(ObservationManagerImpl.java:135)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message