Author: thomasm
Date: Fri Sep 21 12:49:33 2018
New Revision: 1841578

URL: http://svn.apache.org/viewvc?rev=1841578&view=rev
Log:
OAK-7739: Use an index only if a certain node or property exists (robustness)

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java?rev=1841578&r1=1841577&r2=1841578&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndex.java
 Fri Sep 21 12:49:33 2018
@@ -193,6 +193,9 @@ class PropertyIndex implements QueryInde
         if (useIfExists == null) {
             return true;
         }
+        if (!PathUtils.isValid(useIfExists)) {
+            return false;
+        }
         NodeState nodeState = root;
         for (String element : PathUtils.elements(useIfExists)) {
             if (element.startsWith("@")) {

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1841578&r1=1841577&r2=1841578&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
 Fri Sep 21 12:49:33 2018
@@ -1654,6 +1654,9 @@ public final class IndexDefinition imple
         if (useIfExists == null) {
             return true;
         }
+        if (!PathUtils.isValid(useIfExists)) {
+            return false;
+        }
         NodeState nodeState = root;
         for (String element : PathUtils.elements(useIfExists)) {
             if (element.startsWith("@")) {


Reply via email to