jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Parvulescu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-343) Session.getNodeByUUID requires save call
Date Fri, 25 Jan 2013 13:07:12 GMT

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

Alex Parvulescu commented on OAK-343:

> I will take over from here. There are a few changes I would like to implement, for example
avoiding to read too much data in the getCost method.

perfect, thanks!

There are still issues with this index impl.
The tests marked as failing because of OAK-343 in oak-jcr (pom.xml under "known.issues") are
still failing unfortunately.
The problem is they also fail using the original patch, so probably the problem goes deeper.

It would seem that the UUID query is looking for a node that is neither in the transient space
(in the diff between rootTree.getNodeState() -> getBaseState) nor the property index. (I
am seeing the nodes in the base state NodeState, but not in the property index)
I'll try to look into this a bit.
> Session.getNodeByUUID requires save call
> ----------------------------------------
>                 Key: OAK-343
>                 URL: https://issues.apache.org/jira/browse/OAK-343
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, jcr
>            Reporter: angela
>            Assignee: Thomas Mueller
>         Attachments: oak-343-QueryIndex.patch, OAK-343-v2.patch
> while adding mix:referenceable to a new node immediately assigns a 
> uuid and makes the node referenceable, session.getNodeByUUID only works
> after saving the changes.
> the following test illustrates this behavior:
> @Test
> public void getNodeByUUID() throws RepositoryException {
>    Node node = getNode("/foo").addNode("boo");
>    node.addMixin(JcrConstants.MIX_REFERENCEABLE);
>    assertTrue(node.isNodeType(JcrConstants.MIX_REFERENCEABLE));
>    String uuid = node.getUUID();
>    assertNotNull(uuid);
>    assertEquals(uuid, node.getIdentifier());
>    Node nAgain = node.getSession().getNodeByUUID(uuid);
>    assertTrue(nAgain.isSame(node));
>    assertTrue(nAgain.isSame(node.getSession().getNodeByIdentifier(uuid)));
> }

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

View raw message