[
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15389171#comment-15389171
]
Thomas Mueller commented on OAK-3403:
-------------------------------------
The patch looks good to me in general. Some remarks:
* There are quite many places where we do "for (IndexStoreStrategy s...". Not
sure if would be better to create some kind of a "MultiplexIndexStoreStrategy".
Maybe it would complicate the code more than it would help.
* It has some new TODOs and, maybe we should create issues for those?
* Maybe some randomized tests could be added. But probably it makes sense to do
that on a higher level (a stable API such as the JCR API), so that the tests
can be re-used later on, without having to refactor all those tests.
> Multiplexing store support in Property indexes
> ----------------------------------------------
>
> Key: OAK-3403
> URL: https://issues.apache.org/jira/browse/OAK-3403
> Project: Jackrabbit Oak
> Issue Type: Technical task
> Components: query
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Attachments: OAK-3403-v1.patch, OAK-3403-v2.patch, OAK-3403-v3.patch,
> OAK-3403-v4.patch, OAK-3403-v5.patch
>
>
> In Oak one can define an index anywhere in the repository under a special
> node name {{oak:index}}. For e.g. if you want a property index for
> {{sling:resourceType}} at root level then you can create the index at
> /oak:index/resourceType and this index would store the index content at
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the
> indexed content for a given path should be stored. To start with it can make
> use of PathToStoreMapper to decide which node to use the indexed content. For
> e.g. for /libs the indexed content is stored under :index-pr and for /content
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to
> provide a union cursor which can perform lookup from all such store
> directories for a given index.
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special.
> Depending on parent path it might be possible that they would have to be
> created in both repositories. For e.g. /oak:index would have to be present in
> both PR and SR. While /content/foo/oak:index can live only in SR.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)