Thomas Mueller created OAK-12010:
------------------------------------
Summary: Simplified index management
Key: OAK-12010
URL: https://issues.apache.org/jira/browse/OAK-12010
Project: Jackrabbit Oak
Issue Type: Improvement
Reporter: Thomas Mueller
Assignee: Thomas Mueller
Currently, Oak indexes are defined using JCR nodes. There are a few known
issues with the current configuration:
* Index definitions can be changed while they are being used.
* For Lucene indexes, there are two versions of the index definition: the one
visible and in the one used for queries (the so-called "stored" definition).
Only setting "reindex" or "refresh" to true updates the stored one.
* There can be multiple sources for index definitions: (a) so-called "product"
indexes, (b) customizations, and (c) changes via UI or automation. All these
sources can be changed independently. It would be good to merge the changes if
one of them changes.
* Index definitions are JCR nodes, making it hard to change. Using JSON config
files would simplify changes (one JSON file per index, or even one JSON file
for multiple indexes).
* Index definitions are mutable. It would be better if they are effectively
immutable, by using versions.
I'm proposing to retain the current index configuration, but to add a way to
customize indexes via JSON. So that the current configurations are fully
backward compatible, but we use a new, additional way to configure indexes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)