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