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