You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2012/12/14 10:12:13 UTC

[jira] [Comment Edited] (OAK-511) Query PropertyIndex that stores the index content as nodes

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

Alex Parvulescu edited comment on OAK-511 at 12/14/12 9:11 AM:
---------------------------------------------------------------

part 2 of the patch.

After discussing the index structure with Jukka a bit, we've decided that a tree structure that would mirror the repository content could be a good solution, better than storing all of the content as a single large child node list and having to deal with encoding and decoding paths as node names.


So if an indexed subtree looks like
{noformat}
 /a
   /b
   /c
     /d
{noformat}
the index would mirror this layout and would look like
{noformat}
/a
 :index
    /b
    /c
       /d
{noformat}
the problem where the any node that is not a leave (it still has other child nodes) matches was solved by introducing a property 'match'=true where any hierarchy node will match.
In the case the root node ('a') matches, the 'match=true' property will be placed on the ';index' node, the index content root.

                
      was (Author: alex.parvulescu):
    part 2 of the patch.

After discussing the index structure with Jukka a bit, we've decided that a tree structure that would mirror the repository content could be a good solution, better than storing all of the content as a single large child node list and having to deal with encoding and decoding paths as node names.


So if an indexed subtree looks like
 /a
   /b
   /c
     /d
the index would mirror this layout and would look like

/a
 :index
    /b
    /c
       /d
the problem where the any node that is not a leave (it still has other child nodes) matches was solved by introducing a property 'match'=true where any hierarchy node will match.
In the case the root node ('a') matches, the 'match=true' property will be placed on the ';index' node, the index content root.





                  
> Query PropertyIndex that stores the index content as nodes
> ----------------------------------------------------------
>
>                 Key: OAK-511
>                 URL: https://issues.apache.org/jira/browse/OAK-511
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: query
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>         Attachments: OAK-511-p2.patch, OAK-511.patch
>
>
> A current limitation of the PropertyIndex is that is stores the index content as multi value properties. This causes merge conflicts when there are concurrent updates to the index.
> A workaround was found to split the mvp into child-nodes. This alleviates the need for diffing the properties reducing the potential conflict area.

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