[ https://issues.apache.org/jira/browse/OAK-4400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15727741#comment-15727741 ]
Chetan Mehrotra commented on OAK-4400: -------------------------------------- bq. Could you show via getStoredIndexDefinition if the stored index definition differs from the "visible" index definition? Added a JMX operation to produce JSOP diff between stored definition and current definition with [9e94842|https://github.com/chetanmeh/jackrabbit-oak/commit/9e9484246f9df67008c0e5130b7fe6bb4e86444f] > 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, OAK-4400-v3.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 (v6.3.4#6332)