jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas März (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-4400) Correlate index with the index definition used to build it
Date Tue, 06 Dec 2016 16:04:59 GMT

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

Thomas März commented on OAK-4400:

On next async indexing cycle this flag would be pickedup and stored index definition would
be refreshed

-1 This contradicts the description {{Are there any changes in the definition since the trigger?

Later when query needs to be performed the IndexDefinition instance would check if this node
is present. If yes then it would be used instead of current nodestate at index path i.e. nodestate
tree used would be /oak:index/fooLuceneIndex/:index-definition instead of /oak:index/fooLuceneIndex.

Why don't you just ignore the index when there is no :index-definition?

Could you show via {{getStoredIndexDefinition}} if the stored index definition differs from
the "visible" index definition?

> Correlate index with the index definition used to build it
> ----------------------------------------------------------
>                 Key: OAK-4400
>                 URL: https://issues.apache.org/jira/browse/OAK-4400
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene, query
>    Affects Versions: 1.4
>            Reporter: Valentin Olteanu
>            Assignee: Chetan Mehrotra
>             Fix For: 1.6
>         Attachments: OAK-4400-v1.diff, OAK-4400-v2.diff, lucene-mbean.png
> Currently, if the definition of an index is changed without reindexing, it will get in
an "inconsistent" state. 
> Of course, the reindexing is usually necessary, but it would be useful to know with which
definition the index was built. This could increase the visibility of the indexing state and
help debugging issues related to it.
> Some questions this improvement should respond to:
> # What is the definition of the index when the (re)indexing was triggered?
> # Are there any changes in the definition since the trigger? Which?
> I can imagine a solution built by "versioning" the definition nodes (oak:QueryIndexDefinition).
When the reindex is triggered, a new version of the node is created and the indexer stores
a reference to it.
> This would also allow the indexer to keep using the same definition until a new reindex,
even if changes are made meanwhile (i.e. use a fixed version instead of the latest definition).

This message was sent by Atlassian JIRA

View raw message