You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Hans-Peter Stoerr (Jira)" <ji...@apache.org> on 2020/10/14 14:58:00 UTC

[jira] [Created] (SLING-9826) jcr:uuid index not updated on move

Hans-Peter Stoerr created SLING-9826:
----------------------------------------

             Summary: jcr:uuid index not updated on move
                 Key: SLING-9826
                 URL: https://issues.apache.org/jira/browse/SLING-9826
             Project: Sling
          Issue Type: Bug
          Components: JCR, Starter
    Affects Versions: Starter 12
         Environment: Sling-Starter 12-SNAPSHOT (commit addb8f7b) with JDK 11 and 13 on MacOS, JDK 11 on an x86_64 Linux
            Reporter: Hans-Peter Stoerr


When changing from Sling Starter 11 to the (almost) latest version of Sling Starter 12-SNAPSHOT I get the problem that it is not possible to find nodes that are mix:referenceable by their jcr:uuid after they have been moved in the JCR tree: Session.getNodeByIdentifier throws an ItemNotFoundException, and a query /jcr:root//*[@jcr:uuid='${uuid}'] does not find the node.

I tested it with the following code (Node and Session being from javax.jcr.*):
{code:java}
    Node parent = session.getNode(PATH);
    String name = "child" + System.currentTimeMillis();
    Node child = parent.addNode(name, "sling:Folder");
    child.addMixin("mix:referenceable");
    session.save();
    String id = child.getIdentifier();
    // session.getNodeByIdentifier(id); // OK, works as expected here.
    session.move(child.getPath(), PATH2 + "/" + name);
    session.save();
    session.getNodeByIdentifier(id); // often throws ItemNotFoundException!
{code}
PATH and PATH2 denote two preexisting writeable nodes. If I force a refresh of the /oak:index/uuid, the node is found again - until it is moved again. The query problem is also easy to replicate by creating a mix:referenceable node in the browser, moving it and trying to query it with /jcr:root//*[@jcr:uuid='${uuid}'] .

I initially reported the bug to the Jackrabbit OAK project, but it is not possible to reproduce this with the oak-jcr tests. I could also not reproduce it with a unit test in org-apache-sling-jcr-resource, only when using the Sling Starter 12. This comment on my bugreport suggests that there might be some misconfiguration in Sling.

Thank you very much!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)