Thomas Mueller created OAK-9301:
-----------------------------------

             Summary: Automatically pick a merged index
                 Key: OAK-9301
                 URL: https://issues.apache.org/jira/browse/OAK-9301
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: indexing, lucene
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller


When using the composite node store for blue-green deployments, multiple 
versions of a index can exist at the same time, for a short period of time 
(while both blue and green are running at the same time).

In OAK-8721 we support automatically pick the latest active index version for 
this case.

What we don't support so far is merged indexes. Those are indexes that combine 
customizations, and changes to the base index.

The algorithm to decide which version of an index to use should be:

* If this is a not a composite repository (if it doesn't have non-default 
mounts), use the index (shortcut).
* Collect all indexes of the same base name (e.g. damAssetLucene). We can use 
at most one of them.
* For the given base name, use the latest version that is active (latest means 
the highest index version, where xxx-5 < xxx-6 < xxx-6-custom-1 < 
xxx-6-custom-2 < xxx-7.
* It's possible that for a given base name, no index is active (in case of app 
version 1 for a new index).

An index is active if it has a hidden child node that starts with 
":oak:mount-", OR if it is an active merged index. 

An index is an active merged index if it has the property "merges", and that 
property points to index definitions, and each of those indexes is either 
active, disabled, or removed.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to