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

Thomas März commented on OAK-4400:
----------------------------------

{quote}
The support for {{refresh}} flag is for expert usage mode. For example in some 
time critical case we might have to tweak the index config without requiring 
full reindex, then this flag can be used.
{quote}

In a time critical case just let the expert set a property on the index 
definition, so :index-definition will be ignored, and the expert can tinker 
with the visible state instead of waiting for a log entry. And even for an 
expert, the definition, the index was created with, will be lost.

{quote}
This mode is required to support upgrade case.
{quote}

Just copy the index definition to :index-definition and use {{:status}} to 
handle the state for the logic when to copy?


{quote}
related to index definition would be squeezed out and copied as hidden tree 
(leaving out the non visible part)
{quote}

What about the properties {{:childOrder}} and {{:version}} and the {{:status}} 
node used in a index definition?


{quote}
NodeStateCloner logic
{quote}

Shouldn't ApplyVisibleDiff also not copy non visible properties?


{quote}
That would be nice improvement. 
{quote}

This would also be helpful for tests to see if both definitons are in sync when 
changing the {{type}} from {{lucene}} to {{ignore}}.


I also wouldn't leak the constant {{:index-definition}} from 
{{IndexDefinition}}. 



> 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
(v6.3.4#6332)

Reply via email to