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 ca...@apache.org on 2019/02/20 22:17:39 UTC
svn commit: r1853998 - in /jackrabbit/oak/branches/1.10: ./
oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
Author: catholicon
Date: Wed Feb 20 22:17:38 2019
New Revision: 1853998
URL: http://svn.apache.org/viewvc?rev=1853998&view=rev
Log:
OAK-8046: Result items are not always correctly counted against the configured read limit if a query uses a lucene index (backported r1853997 from trunk)
Fix test cases. I had earlier assumed that index tag chooses even
aggregate index (compatVersion=1) but it doesn't. So, now we have
different type of indexes and query according to which one we want to
get picked.
Modified:
jackrabbit/oak/branches/1.10/ (props changed)
jackrabbit/oak/branches/1.10/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
Propchange: jackrabbit/oak/branches/1.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 20 22:17:38 2019
@@ -1,3 +1,3 @@
/jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852920,1853393,1853429,1853433,1853866,1853870,1853893,1853969
+/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852920,1853393,1853429,1853433,1853866,1853870,1853893,1853969,1853997
/jackrabbit/trunk:1345480
Modified: jackrabbit/oak/branches/1.10/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java?rev=1853998&r1=1853997&r2=1853998&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java (original)
+++ jackrabbit/oak/branches/1.10/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java Wed Feb 20 22:17:38 2019
@@ -30,10 +30,8 @@ import org.apache.jackrabbit.oak.api.Tre
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.commons.junit.TemporarySystemProperty;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
-import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
-import org.apache.jackrabbit.oak.plugins.memory.MultiStringPropertyState;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
@@ -57,7 +55,6 @@ import java.util.Iterator;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import static com.google.common.collect.ImmutableList.of;
import static org.apache.jackrabbit.oak.InitialContentHelper.INITIAL_CONTENT;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -159,23 +156,26 @@ public class ReopenedLuceneIndexTest {
}
private void createIndex() throws CommitFailedException {
- IndexDefinitionBuilder idxBuilder = new IndexDefinitionBuilder();
- idxBuilder.noAsync().evaluatePathRestrictions()
+ IndexDefinitionBuilder idxBuilderV1 = new IndexDefinitionBuilder();
+ idxBuilderV1.noAsync().evaluatePathRestrictions()
.indexRule("nt:base")
.property("cons").nodeScopeIndex()
// to make a change in index but we won't query for this
.enclosingRule().property("foo").propertyIndex();
- Tree indexNode;
+ IndexDefinitionBuilder idxBuilderV2 = new IndexDefinitionBuilder();
+ idxBuilderV2.noAsync().evaluatePathRestrictions()
+ .indexRule("nt:base")
+ .property("cons").propertyIndex()
+ // to make a change in index but we won't query for this
+ .enclosingRule().property("foo").propertyIndex();
- idxBuilder.getBuilderTree().setProperty(new MultiStringPropertyState("tags", of("v2")));
- indexNode = root.getTree("/").addChild("oak:index").addChild("index-v2");
- idxBuilder.build(indexNode);
-
- idxBuilder.getBuilderTree().setProperty(new MultiStringPropertyState("tags", of("v1")));
- idxBuilder.getBuilderTree().setProperty(FulltextIndexConstants.COMPAT_MODE, 1); // to force aggregate index
- indexNode = root.getTree("/oak:index").addChild("index-v2");
- idxBuilder.build(indexNode);
+ Tree oi = root.getTree("/oak:index");
+
+ idxBuilderV1.getBuilderTree().setProperty(LuceneIndexConstants.COMPAT_MODE, 1); // to force aggregate index
+ idxBuilderV1.build(oi.addChild("index-v1"));
+
+ idxBuilderV2.build(oi.addChild("index-v2"));
root.commit();
}
@@ -195,7 +195,10 @@ public class ReopenedLuceneIndexTest {
}
private int iterateResultWhileReopening(String indexTag) throws ParseException, CommitFailedException {
- String query = "SELECT * FROM [nt:base] WHERE CONTAINS(*, 'val') option(index tag " + indexTag + ")";
+ String queryV1 = "SELECT * FROM [nt:base] WHERE CONTAINS(*, 'val')";
+ String queryV2 = "SELECT * FROM [nt:base] WHERE [cons] = 'val'";
+
+ String query = "v1".equals(indexTag) ? queryV1 : queryV2;
int resultSize = 0;