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("@")) {