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:10:18 UTC
svn commit: r1853997 -
/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
Author: catholicon
Date: Wed Feb 20 22:10:18 2019
New Revision: 1853997
URL: http://svn.apache.org/viewvc?rev=1853997&view=rev
Log:
OAK-8046: Result items are not always correctly counted against the configured read limit if a query uses a lucene index
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/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java?rev=1853997&r1=1853996&r2=1853997&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/ReopenedLuceneIndexTest.java Wed Feb 20 22:10:18 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;