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

Chetan Mehrotra commented on OAK-6294:
--------------------------------------

Aborting getChildNodes()  log indicates some bug in DocumentNodeStore (see 
OAK-4623). So far OAK-2778 was the only known scenario which has been fixed. So 
looks like this is a newer one

> The "missing" node cache value breaks the DocumentNodeStore#applyChanges
> ------------------------------------------------------------------------
>
>                 Key: OAK-6294
>                 URL: https://issues.apache.org/jira/browse/OAK-6294
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: documentmk
>    Affects Versions: 1.4.10
>            Reporter: Tomek Rękawek
>              Labels: candidate_oak_1_4, candidate_oak_1_6
>             Fix For: 1.8, 1.7.2
>
>         Attachments: OAK-6294.patch
>
>
> In the {{DocumentNodeStore#nodeCache}}, the special object {{missing}} is 
> being used to mark the node entries that don't exists in the repository.
> This object should be unwrapped to {{null}} every time we call 
> {{nodeCache#getIfPresent()}} method. It's not the case in the 
> {{applyChanges()}} method - as a result, we may get a NPE (since the 
> {{missing.getLastRev() == null}}):
> {noformat}
> Caused by: java.lang.NullPointerException: null
>       at 
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:192)
>       at 
> org.apache.jackrabbit.oak.plugins.document.PathRev.<init>(PathRev.java:40)
>       at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.applyChanges(DocumentNodeStore.java:1171)
>       at 
> org.apache.jackrabbit.oak.plugins.document.Commit.applyToCache(Commit.java:667)
>       at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore$3.headOfQueue(DocumentNodeStore.java:674)
>       at 
> org.apache.jackrabbit.oak.plugins.document.CommitQueue.waitUntilHeadOfQueue(CommitQueue.java:240)
>       at 
> org.apache.jackrabbit.oak.plugins.document.CommitQueue.done(CommitQueue.java:92)
>       at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.done(DocumentNodeStore.java:668)
> {noformat}
> (taken from the production instance running the Oak 1.4.10).
> //cc: [~chetanm], [~mreutegg], [~catholicon]



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

Reply via email to