You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2018/09/20 13:00:29 UTC
svn commit: r1841467 - in
/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene:
IndexPlanner.java LuceneIndex.java LucenePropertyIndex.java
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);