This is an automated email from the ASF dual-hosted git repository.

thomasm pushed a commit to branch OAK-10518
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 82ec4d2dc013c43c01e35dd3cc3e19e2d616dce7
Author: Thomas Mueller <[email protected]>
AuthorDate: Wed Oct 25 16:28:55 2023 +0200

    OAK-10518 IndexInfo should have a isActive() method
---
 .../jackrabbit/oak/plugins/index/IndexInfo.java    | 11 ++++++
 .../oak/plugins/index/IndexInfoServiceImpl.java    | 24 +++++++++++-
 .../jackrabbit/oak/plugins/index}/IndexName.java   |  3 +-
 .../oak/plugins/index/IndexPathService.java        |  9 +++++
 .../oak/plugins/index/IndexPathServiceImpl.java    |  7 +++-
 .../oak/plugins/index/inventory/IndexPrinter.java  |  1 +
 .../index/property/PropertyIndexInfoProvider.java  | 10 +++++
 .../plugins/index/inventory/IndexPrinterTest.java  | 10 +++++
 .../index/lucene/LuceneIndexInfoProvider.java      | 11 ++++++
 .../composite/blueGreen/CustomizedIndexTest.java   | 43 ++++++++++++++++++++++
 .../oak/composite/blueGreen/Persistence.java       |  6 ++-
 .../oak/indexversion/IndexVersionOperation.java    |  2 +-
 .../oak/indexversion/PurgeOldIndexVersion.java     |  2 +-
 .../oak/indexversion/PurgeOldVersionUtils.java     |  2 +-
 .../indexversion/ElasticIndexVersionOperation.java |  2 +-
 .../indexversion/ElasticPurgeOldIndexVersion.java  |  2 +-
 .../oak/index/merge/IndexDefMergerUtils.java       |  2 +-
 .../jackrabbit/oak/index/merge/IndexDiff.java      |  2 +-
 .../indexversion/LuceneIndexVersionOperation.java  |  2 +-
 .../indexversion/LucenePurgeOldIndexVersion.java   |  3 +-
 .../index/elastic/ElasticIndexInfoProvider.java    | 10 +++++
 .../index/search/spi/query/FulltextIndex.java      |  7 ++--
 .../plugins/index/search/spi/query/IndexName.java  | 12 +-----
 .../index/search/spi/query/IndexNameTest.java      |  1 +
 24 files changed, 156 insertions(+), 28 deletions(-)

diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfo.java 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfo.java
index 1746dde26b..f5f79a4dcc 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfo.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfo.java
@@ -103,6 +103,17 @@ public interface IndexInfo {
      */
     boolean hasPropertyIndexNode();
 
+    /**
+     * Sets whether an index is active (can be used for queries)
+     */
+    void setActive(boolean value);
+
+    /**
+     * Determines if the index is active (can be used for queries)
+     * @return true if yes
+     */
+    boolean isActive();
+
     /**
      * Index suggest data storage size
      * @return storage size or -1 if unknown
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImpl.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImpl.java
index 2b6e76f359..0524d375b8 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImpl.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexInfoServiceImpl.java
@@ -20,6 +20,7 @@
 package org.apache.jackrabbit.oak.plugins.index;
 
 import java.io.IOException;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -62,11 +63,21 @@ public class IndexInfoServiceImpl implements 
IndexInfoService{
 
     @Override
     public Iterable<IndexInfo> getAllIndexInfo() {
+        HashSet<String> allIndexes = new HashSet<>();
+        indexPathService.getIndexPaths().forEach(allIndexes::add);
+        HashSet<String> activeIndexes = new HashSet<>();
+        if (indexPathService.getMountInfoProvider().hasNonDefaultMounts()) {
+            IndexName.filterReplacedIndexes(allIndexes, nodeStore.getRoot(), 
true).forEach(activeIndexes::add);
+        } else {
+            activeIndexes.addAll(allIndexes);
+        }
         return 
Iterables.filter(Iterables.transform(indexPathService.getIndexPaths(), new 
Function<String, IndexInfo>() {
             @Override
             public IndexInfo apply(String indexPath) {
                 try {
-                    return getInfo(indexPath);
+                    IndexInfo info = getInfo(indexPath);
+                    info.setActive(activeIndexes.contains(indexPath));
+                    return info;
                 } catch (Exception e) {
                     log.warn("Error occurred while capturing IndexInfo for 
path {}", indexPath, e);
                     return null;
@@ -129,6 +140,7 @@ public class IndexInfoServiceImpl implements 
IndexInfoService{
     private static class SimpleIndexInfo implements IndexInfo {
         private final String indexPath;
         private final String type;
+        private boolean isActive;
 
         private SimpleIndexInfo(String indexPath, String type) {
             this.indexPath = indexPath;
@@ -203,5 +215,15 @@ public class IndexInfoServiceImpl implements 
IndexInfoService{
         public long getReindexCompletionTimestamp() {
             return -1;
         }
+
+        @Override
+        public void setActive(boolean value) {
+            isActive = value;
+        }
+
+        @Override
+        public boolean isActive() {
+            return isActive;
+        }
     }
 }
diff --git 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
 b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexName.java
similarity index 98%
copy from 
oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
copy to 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexName.java
index d3cbab5858..6ad2005a56 100644
--- 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexName.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.jackrabbit.oak.plugins.index.search.spi.query;
+package org.apache.jackrabbit.oak.plugins.index;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -27,7 +27,6 @@ import java.util.List;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
index f00bfc6841..2b19a78156 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.plugins.index;
 
+import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.mount.Mounts;
 
 public interface IndexPathService {
 
@@ -27,4 +29,11 @@ public interface IndexPathService {
      */
     Iterable<String> getIndexPaths();
 
+    /**
+     * Get the mount info provider
+     */
+    default MountInfoProvider getMountInfoProvider() {
+        return Mounts.defaultMountInfoProvider();
+    }
+
 }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
index 4ea6e79ae5..9b9dd6314c 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
@@ -22,7 +22,6 @@ package org.apache.jackrabbit.oak.plugins.index;
 import java.util.Iterator;
 
 import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Iterators;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
 import org.apache.jackrabbit.oak.query.NodeStateNodeTypeInfoProvider;
@@ -35,7 +34,6 @@ import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
 import org.apache.jackrabbit.oak.spi.mount.Mounts;
 import org.apache.jackrabbit.oak.spi.query.IndexRow;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
-import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -116,4 +114,9 @@ public class IndexPathServiceImpl implements 
IndexPathService {
         idxProvider.with(mountInfoProvider);
         return idxProvider.getQueryIndexes(nodeStore.getRoot()).get(0);
     }
+
+    @Override
+    public MountInfoProvider getMountInfoProvider() {
+        return mountInfoProvider;
+    }
 }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinter.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinter.java
index 2b920843bf..0128c2c374 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinter.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinter.java
@@ -163,6 +163,7 @@ public class IndexPrinter implements InventoryPrinter {
             po.text("Has hidden oak mount", info.hasHiddenOakLibsMount());
             po.text("Has property index", info.hasPropertyIndexNode());
         }
+        po.text("Is active", info.isActive());
 
         if (info.hasIndexDefinitionChangedWithoutReindexing()) {
             String diff = info.getIndexDefinitionDiff();
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexInfoProvider.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexInfoProvider.java
index 8cde72574a..f1921a9502 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexInfoProvider.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexInfoProvider.java
@@ -156,6 +156,16 @@ public class PropertyIndexInfoProvider implements 
IndexInfoProvider {
             return false;
         }
 
+        @Override
+        public boolean isActive() {
+            return true;
+        }
+
+        @Override
+        public void setActive(boolean value) {
+            // ignore
+        }
+
         @Override
         public long getSuggestSizeInBytes() {
             return -1;
diff --git 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinterTest.java
 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinterTest.java
index 93c5162d93..8c8a406e10 100644
--- 
a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinterTest.java
+++ 
b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/inventory/IndexPrinterTest.java
@@ -203,6 +203,16 @@ public class IndexPrinterTest {
         public long getReindexCompletionTimestamp() {
             return 0;
         }
+
+        @Override
+        public void setActive(boolean value) {
+            // ignore
+        }
+
+        @Override
+        public boolean isActive() {
+            return true;
+        }
     }
 
 }
diff --git 
a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
 
b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
index 69a94185f2..91d47c333b 100644
--- 
a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
+++ 
b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexInfoProvider.java
@@ -199,6 +199,7 @@ public class LuceneIndexInfoProvider implements 
IndexInfoProvider {
         String indexDiff;
         boolean hasHiddenOakLibsMount;
         boolean hasPropertyIndexNode;
+        boolean isActive;
         long suggestSize;
         long creationTimestamp;
         long reindexCompletionTimestamp;
@@ -262,6 +263,16 @@ public class LuceneIndexInfoProvider implements 
IndexInfoProvider {
             return hasPropertyIndexNode;
         }
 
+        @Override
+        public void setActive(boolean value) {
+            isActive = value;
+        }
+
+        @Override
+        public boolean isActive() {
+            return isActive;
+        }
+
         @Override
         public long getSuggestSizeInBytes() {
             return suggestSize;
diff --git 
a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/CustomizedIndexTest.java
 
b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/CustomizedIndexTest.java
index 404e8c2bc0..21cc263682 100644
--- 
a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/CustomizedIndexTest.java
+++ 
b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/CustomizedIndexTest.java
@@ -18,11 +18,21 @@
  */
 package org.apache.jackrabbit.oak.composite.blueGreen;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
 
 import javax.jcr.Node;
 
+import org.apache.jackrabbit.oak.plugins.index.IndexInfo;
+import org.apache.jackrabbit.oak.plugins.index.IndexInfoServiceImpl;
+import org.apache.jackrabbit.oak.plugins.index.IndexPathServiceImpl;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants;
+import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider;
+import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -86,6 +96,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-1",
                 "[/content/test, /libs/test]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-1]",
+                getActiveLuceneIndexes(p));
         p.close();
     }
 
@@ -100,6 +112,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-2",
                 "[/content/test, /libs/test2]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-2]",
+                getActiveLuceneIndexes(p));
         p.close();
 
         // the new index must not be used in the old version (with libs1)
@@ -108,6 +122,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-1",
                 "[/content/test, /libs/test]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-1]",
+                getActiveLuceneIndexes(p));
         p.close();
     }
 
@@ -129,6 +145,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-2-custom-1",
                 "[/content/test]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-2-custom-1]",
+                getActiveLuceneIndexes(p));
         p.close();
 
         // the merged index is not used in the old version (with libs1)
@@ -148,6 +166,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-2-custom-1",
                 "[/content/test]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-2-custom-1]",
+                getActiveLuceneIndexes(p));
         p.close();
     }
 
@@ -200,6 +220,8 @@ public class CustomizedIndexTest {
                 "/jcr:root//*[@foo] order by @jcr:path",
                 "test-3-custom-1",
                 "[/content/test]");
+        assertEquals("[/oak:index/lucene, /oak:index/test-3-custom-1]",
+                getActiveLuceneIndexes(p));
     }
 
     private void createFolders() throws IOException {
@@ -211,4 +233,25 @@ public class CustomizedIndexTest {
         indexDir = tempDir.newFolder("index");
     }
 
+    private static String getActiveLuceneIndexes(Persistence p) {
+        return getActiveLuceneIndexes(p.getCompositeNodestore(), 
p.getMountInfoProvider());
+    }
+
+    private static String getActiveLuceneIndexes(NodeStore ns, 
MountInfoProvider m) {
+        ArrayList<String> list = new ArrayList<>();
+        IndexInfoServiceImpl indexService = new IndexInfoServiceImpl(ns,
+                new IndexPathServiceImpl(ns, m));
+        for (IndexInfo info : indexService.getAllIndexInfo()) {
+            if (!LuceneIndexConstants.TYPE_LUCENE.equals(info.getType())) {
+                continue;
+            }
+            if (!info.isActive()) {
+                continue;
+            }
+            list.add(info.getIndexPath());
+        }
+        Collections.sort(list);
+        return list.toString();
+    }
+
 }
diff --git 
a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/Persistence.java
 
b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/Persistence.java
index c2ae5a5521..a91c513684 100644
--- 
a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/Persistence.java
+++ 
b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/composite/blueGreen/Persistence.java
@@ -372,7 +372,11 @@ public class Persistence {
         }        
         
     }
-    
+
+    public MountInfoProvider getMountInfoProvider() {
+        return MOUNT_INFO_PROVIDER;
+    }
+
     public static class Config {
         public BlobStore blobStore;
         public File indexDir;
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/IndexVersionOperation.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/IndexVersionOperation.java
index 84cdf5b9ba..55a27a83b5 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/IndexVersionOperation.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/IndexVersionOperation.java
@@ -25,8 +25,8 @@ import java.util.List;
 
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateUtils;
 import org.jetbrains.annotations.Nullable;
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldIndexVersion.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldIndexVersion.java
index 8a5e9ed3fe..083e7ac576 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldIndexVersion.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldIndexVersion.java
@@ -34,6 +34,7 @@ import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider;
 import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.plugins.index.IndexPathService;
 import org.apache.jackrabbit.oak.plugins.index.IndexPathServiceImpl;
 import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
@@ -41,7 +42,6 @@ import 
org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditorProvider
 import 
org.apache.jackrabbit.oak.plugins.index.property.OrderedPropertyIndexEditorProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
 import 
org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldVersionUtils.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldVersionUtils.java
index c8d88655d2..8c08ad9f87 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldVersionUtils.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/indexversion/PurgeOldVersionUtils.java
@@ -20,9 +20,9 @@ package org.apache.jackrabbit.oak.indexversion;
 
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.plugins.index.property.RecursiveDelete;
 import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
diff --git 
a/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticIndexVersionOperation.java
 
b/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticIndexVersionOperation.java
index a4adb71754..5811b00539 100644
--- 
a/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticIndexVersionOperation.java
+++ 
b/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticIndexVersionOperation.java
@@ -18,7 +18,7 @@
  */
 package org.apache.jackrabbit.oak.indexversion;
 
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 
 import java.util.List;
diff --git 
a/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticPurgeOldIndexVersion.java
 
b/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticPurgeOldIndexVersion.java
index 5bf0c41f8b..799593f712 100644
--- 
a/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticPurgeOldIndexVersion.java
+++ 
b/oak-run-elastic/src/main/java/org/apache/jackrabbit/oak/indexversion/ElasticPurgeOldIndexVersion.java
@@ -22,10 +22,10 @@ import 
co.elastic.clients.elasticsearch.indices.DeleteIndexResponse;
 import co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
 import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
 import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexNameHelper;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDefMergerUtils.java
 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDefMergerUtils.java
index 82c1e04d62..3736e3c7ea 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDefMergerUtils.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDefMergerUtils.java
@@ -31,7 +31,7 @@ import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.oak.commons.json.JsonObject;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 
 /**
  * Utility that allows to merge index definitions.
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDiff.java 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDiff.java
index c9fa91b17f..c20d4a4abc 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDiff.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/index/merge/IndexDiff.java
@@ -39,7 +39,7 @@ import java.util.stream.Stream;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.commons.json.JsonObject;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 
 /**
  * The index diff tools allows to compare and merge indexes
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LuceneIndexVersionOperation.java
 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LuceneIndexVersionOperation.java
index 50f69561f4..7a3a127425 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LuceneIndexVersionOperation.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LuceneIndexVersionOperation.java
@@ -19,7 +19,7 @@
 package org.apache.jackrabbit.oak.indexversion;
 
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LucenePurgeOldIndexVersion.java
 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LucenePurgeOldIndexVersion.java
index 7805f8f595..c1cb0f2db5 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LucenePurgeOldIndexVersion.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/indexversion/LucenePurgeOldIndexVersion.java
@@ -18,11 +18,12 @@
  */
 package org.apache.jackrabbit.oak.indexversion;
 
-import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 
 import static 
org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.TYPE_LUCENE;
 
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
+
 public class LucenePurgeOldIndexVersion extends PurgeOldIndexVersion {
     @Override
     protected String getIndexType() {
diff --git 
a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexInfoProvider.java
 
b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexInfoProvider.java
index ddd80980f3..4df7a0bf07 100644
--- 
a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexInfoProvider.java
+++ 
b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexInfoProvider.java
@@ -197,5 +197,15 @@ class ElasticIndexInfoProvider implements 
IndexInfoProvider {
         public long getReindexCompletionTimestamp() {
             return reindexCompletionTimestamp;
         }
+
+        @Override
+        public void setActive(boolean value) {
+            // ignore
+        }
+
+        @Override
+        public boolean isActive() {
+            return true;
+        }
     }
 }
diff --git 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndex.java
 
b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndex.java
index 6d1b2663bb..fe7d3f9727 100644
--- 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndex.java
+++ 
b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndex.java
@@ -26,6 +26,7 @@ import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
 import org.apache.jackrabbit.oak.commons.json.JsopWriter;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.plugins.index.cursor.Cursors;
 import org.apache.jackrabbit.oak.plugins.index.cursor.PathCursor;
 import org.apache.jackrabbit.oak.plugins.index.search.IndexLookup;
@@ -94,9 +95,9 @@ public abstract class FulltextIndex implements 
AdvancedQueryIndex, QueryIndex, N
      */
     protected abstract boolean filterReplacedIndexes();
 
-    /*
-    * Whether the isActiveIndex check should run during filtering of replaced 
indexes.
-    *
+    /**
+     * Whether the isActiveIndex check should run during filtering of replaced 
indexes.
+     *
      */
     protected abstract boolean runIsActiveIndexCheck();
 
diff --git 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
 
b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
index d3cbab5858..303a665fd2 100644
--- 
a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
+++ 
b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexName.java
@@ -33,16 +33,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * An index name, which possibly contains two version numbers: the product
- * version number, and the customer version number.
- *
- * The format of an index node name is:
- * - The name of the index,
- * - optionally a dash ('-') and the product version number,
- * - optionally "-custom-" and the customer version number.
- *
- * If the node name doesn't contain version numbers / dashes, then version 0 is
- * assumed (for both the product version number and customer version number).
+ * @deprecated
+ * Use oak-core org.apache.jackrabbit.oak.plugins.index.IndexName instead.
  */
 public class IndexName implements Comparable<IndexName> {
 
diff --git 
a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexNameTest.java
 
b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexNameTest.java
index 02ed726c64..1135772def 100644
--- 
a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexNameTest.java
+++ 
b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/IndexNameTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.fail;
 import static 
org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 
 import org.apache.jackrabbit.oak.commons.junit.LogCustomizer;
+import org.apache.jackrabbit.oak.plugins.index.IndexName;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.junit.Test;

Reply via email to