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

Jukka Zitting commented on OAK-635:
-----------------------------------

Looks good to me, except for the break in {{PrivilegeDefinitionStore}}. Is a 
{{null}} value really a valid entry in the {{privilegeNames}} array? If yes, 
shouldn't we rather just skip it instead of breaking the loop? If not, we 
should throw an exception and fix the client that tries to pass such arguments.
                
> SegmentMK NPE in SegmentNodeState#getChildNode
> ----------------------------------------------
>
>                 Key: OAK-635
>                 URL: https://issues.apache.org/jira/browse/OAK-635
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: segmentmk
>            Reporter: Alex Parvulescu
>         Attachments: OAK-635.patch
>
>
> There are 2 tests failing in oak-core because of a NPE at 
> SegmentNodeState.getChildNode(SegmentNodeState.java:87):
>  - 
> testSetPolicy(org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest)
>  - 
> testSetPolicyWritesAcContent(org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest)
> {noformat}
> java.lang.NullPointerException
>       at 
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:87)
>       at 
> org.apache.jackrabbit.oak.core.ReadOnlyTree.getChild(ReadOnlyTree.java:140)
>       at 
> org.apache.jackrabbit.oak.core.ReadOnlyTree.getChild(ReadOnlyTree.java:1)
>       at 
> org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionStore.getBits(PrivilegeDefinitionStore.java:113)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.createEntry(PermissionHook.java:246)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.addEntry(PermissionHook.java:206)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeAdded(PermissionHook.java:148)
>       at 
> org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:157)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeAdded(PermissionHook.java:152)
>       at 
> org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:157)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeChanged(PermissionHook.java:165)
>       at 
> org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState$3.childNodeChanged(ModifiedNodeState.java:298)
>       at 
> org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:150)
>       at 
> org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:269)
>       at 
> org.apache.jackrabbit.oak.security.authorization.PermissionHook.processCommit(PermissionHook.java:76)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59)
>       at 
> org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreBranch.merge(SegmentNodeStoreBranch.java:179)
>       at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:257)
>       at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:1)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:337)
>       at org.apache.jackrabbit.oak.core.RootImpl.commit(RootImpl.java:252)
>       at 
> org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest.testSetPolicyWritesAcContent(AccessControlManagerImplTest.java:585){noformat}

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

Reply via email to