Author: thomasm
Date: Thu Sep 20 13:00:29 2018
New Revision: 1841467

URL: http://svn.apache.org/viewvc?rev=1841467&view=rev
Log:
OAK-7768: Ability to deprecate an index

Modified:
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlanner.java
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlanner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlanner.java?rev=1841467&r1=1841466&r2=1841467&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlanner.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlanner.java
 Thu Sep 20 13:00:29 2018
@@ -706,6 +706,7 @@ class IndexPlanner {
         return new IndexPlan.Builder()
                 .setCostPerExecution(definition.getCostPerExecution())
                 .setCostPerEntry(definition.getCostPerEntry())
+                .setDeprecated(definition.isDeprecated())
                 .setFulltextIndex(definition.isFullTextEnabled())
                 .setIncludesNodeData(false) // we should not include node data
                 .setFilter(filter)

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java?rev=1841467&r1=1841466&r2=1841467&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
 Thu Sep 20 13:00:29 2018
@@ -214,6 +214,7 @@ public class LuceneIndex implements Adva
                         
.setEstimatedEntryCount(defn.getFulltextEntryCount(node.getIndexStatistics().numDocs()))
                         .setCostPerExecution(defn.getCostPerExecution())
                         .setCostPerEntry(defn.getCostPerEntry())
+                        .setDeprecated(defn.isDeprecated())
                         .setAttribute(ATTR_INDEX_PATH, indexPath)
                         .setDeprecated(defn.isDeprecated())
                         .build());
@@ -269,6 +270,10 @@ public class LuceneIndex implements Adva
 
     @Override
     public Cursor query(final IndexPlan plan, NodeState rootState) {
+        if (plan.isDeprecated()) {
+            LOG.warn("This index is deprecated: {}; it is used for query {}. " 
+
+                    "Please change the query or the index definitions.", 
plan.getPlanName(), plan.getFilter());
+        }
         final Filter filter = plan.getFilter();
         FullTextExpression ft = filter.getFullTextConstraint();
         final Set<String> relPaths = getRelativePaths(ft);

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java?rev=1841467&r1=1841466&r2=1841467&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
 Thu Sep 20 13:00:29 2018
@@ -335,6 +335,10 @@ public class LucenePropertyIndex impleme
 
     @Override
     public Cursor query(final IndexPlan plan, NodeState rootState) {
+        if (plan.isDeprecated()) {
+            LOG.warn("This index is deprecated: {}; it is used for query {}. " 
+
+                    "Please change the query or the index definitions.", 
plan.getPlanName(), plan.getFilter());
+        }
         final Filter filter = plan.getFilter();
         final Sort sort = getSort(plan);
         final PlanResult pr = getPlanResult(plan);


Reply via email to