[ 
https://issues.apache.org/jira/browse/OAK-333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marcel Reutegger reopened OAK-333:
----------------------------------


With these changes several tests fail. Unfortunately our travis builds failed 
already before and we didn't notice this regression.

As a quick workaround I reverted the changes in CacheInvalidator: 
http://svn.apache.org/r1579027

The problem is that the cache may also contain NodeDocument.NULL entries. These 
don't have a path nor an id. Because of this I got the following exception in 
the logs:

{noformat}
19:51:24.827 WARN  [main] DocumentNodeStore.java:1285        Background 
operation failed: java.lang.NullPointerException
java.lang.NullPointerException: null
        at 
org.apache.jackrabbit.oak.plugins.document.util.Utils.getPathFromId(Utils.java:265)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.NodeDocument.getPath(NodeDocument.java:1175)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidator$HierarchicalInvalidator.constructTreeFromPaths(CacheInvalidator.java:279)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidator$HierarchicalInvalidator.invalidateCache(CacheInvalidator.java:177)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.invalidateCache(MongoDocumentStore.java:189)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.backgroundRead(DocumentNodeStore.java:1333)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.runBackgroundOperations(DocumentNodeStore.java:1280)
 ~[oak-core-0.19-SNAPSHOT.jar:0.19-SNAPSHOT]
        at 
org.apache.jackrabbit.oak.jcr.ConcurrentAddNodesClusterIT.runBackgroundOps(ConcurrentAddNodesClusterIT.java:326)
 [test-classes/:na]
        at 
org.apache.jackrabbit.oak.jcr.ConcurrentAddNodesClusterIT.rebaseVisibility(ConcurrentAddNodesClusterIT.java:249)
 [test-classes/:na]
{noformat}

The stack trace also shows one of the tests to reliably reproduce the failure: 
ConcurrentAddNodesClusterIT.rebaseVisibility in oak-jcr

> 1000 byte path limit in MongoMK
> -------------------------------
>
>                 Key: OAK-333
>                 URL: https://issues.apache.org/jira/browse/OAK-333
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>    Affects Versions: 0.5
>            Reporter: Mete Atamel
>            Assignee: Thomas Mueller
>            Priority: Minor
>             Fix For: 0.19
>
>         Attachments: NodeNameLimitsTest.java, OAK-333.patch
>
>
> In an infinite loop try to add nodes one under another to have N0/N1/N2...NN. 
> At some point, the current parent node will not be found and the current 
> commit will fail. I think this happens when the path length exceeds 1000 
> characters. Is this enough for a path? I was able to create this way only 222 
> levels in the tree (and my node names were really short N1, N2 ...)
> There's an automated tests for this: NodeExistsCommandMongoTest.testTreeDepth



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to