Skip to content

Commit bdd6ea6

Browse files
authored
SOLR-17156: introducing RandomNoReverseMergePolicyFactory (#2289)
- Defend other block join tests from reverse merge. - introduce @ClassRule for no revers merge policy
1 parent d3a5908 commit bdd6ea6

16 files changed

+150
-1
lines changed

solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,12 @@
3535
import org.apache.solr.common.cloud.Replica;
3636
import org.apache.solr.common.params.ModifiableSolrParams;
3737
import org.apache.solr.common.params.SolrParams;
38+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3839
import org.junit.AfterClass;
3940
import org.junit.BeforeClass;
41+
import org.junit.ClassRule;
4042
import org.junit.Test;
43+
import org.junit.rules.TestRule;
4144

4245
public class NestedShardedAtomicUpdateTest extends SolrCloudTestCase {
4346
private static final String DEBUG_LABEL = MethodHandles.lookup().lookupClass().getName();
@@ -46,6 +49,9 @@ public class NestedShardedAtomicUpdateTest extends SolrCloudTestCase {
4649
private static CloudSolrClient cloudClient;
4750
private static List<SolrClient> clients; // not CloudSolrClient
4851

52+
@ClassRule
53+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
54+
4955
@BeforeClass
5056
public static void beforeClass() throws Exception {
5157
final String configName = DEBUG_LABEL + "_config-set";

solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,17 @@
3535
import org.apache.solr.update.CommitUpdateCommand;
3636
import org.apache.solr.update.DeleteUpdateCommand;
3737
import org.apache.solr.update.processor.BufferingRequestProcessor;
38+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3839
import org.junit.BeforeClass;
40+
import org.junit.ClassRule;
3941
import org.junit.Test;
42+
import org.junit.rules.TestRule;
4043

4144
public class JsonLoaderTest extends SolrTestCaseJ4 {
4245

46+
@ClassRule
47+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
48+
4349
@BeforeClass
4450
public static void beforeTests() throws Exception {
4551
initCore("solrconfig.xml", "schema.xml");

solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,22 @@
2727
import org.apache.solr.common.SolrInputDocument;
2828
import org.apache.solr.request.SolrQueryRequest;
2929
import org.apache.solr.response.BasicResultContext;
30+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3031
import org.hamcrest.MatcherAssert;
3132
import org.junit.After;
3233
import org.junit.BeforeClass;
34+
import org.junit.ClassRule;
3335
import org.junit.Test;
36+
import org.junit.rules.TestRule;
3437

3538
public class TestChildDocTransformer extends SolrTestCaseJ4 {
3639

3740
private static String ID_FIELD = "id";
3841
private String[] titleVals = new String[2];
3942

43+
@ClassRule
44+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
45+
4046
@BeforeClass
4147
public static void beforeClass() throws Exception {
4248
initCore("solrconfig.xml", "schema-root.xml"); // *not* the "nest" schema

solr/core/src/test/org/apache/solr/response/transform/TestChildDocTransformerHierarchy.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,13 @@
2929
import org.apache.solr.common.SolrException;
3030
import org.apache.solr.request.SolrQueryRequest;
3131
import org.apache.solr.response.BasicResultContext;
32+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3233
import org.junit.After;
3334
import org.junit.Before;
3435
import org.junit.BeforeClass;
36+
import org.junit.ClassRule;
3537
import org.junit.Test;
38+
import org.junit.rules.TestRule;
3639

3740
public class TestChildDocTransformerHierarchy extends SolrTestCaseJ4 {
3841

@@ -49,6 +52,9 @@ public class TestChildDocTransformerHierarchy extends SolrTestCaseJ4 {
4952
// multiple segments.
5053
private static final String fqToExcludeNonTestedDocs = "{!frange l=0}id_i";
5154

55+
@ClassRule
56+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
57+
5258
@BeforeClass
5359
public static void beforeClass() throws Exception {
5460
initCore("solrconfig-minimal.xml", "schema-nest.xml"); // use "nest" schema

solr/core/src/test/org/apache/solr/search/facet/TestJsonFacetsWithNestedObjects.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,17 @@
1919
import org.apache.solr.SolrTestCaseHS;
2020
import org.apache.solr.common.SolrInputDocument;
2121
import org.apache.solr.common.params.ModifiableSolrParams;
22+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
2223
import org.junit.BeforeClass;
24+
import org.junit.ClassRule;
2325
import org.junit.Test;
26+
import org.junit.rules.TestRule;
2427

2528
public class TestJsonFacetsWithNestedObjects extends SolrTestCaseHS {
2629

30+
@ClassRule
31+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
32+
2733
@BeforeClass
2834
public static void beforeTests() throws Exception {
2935
initCore("solrconfig-tlog.xml", "schema_latest.xml");

solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,22 @@
3737
import org.apache.solr.search.QParser;
3838
import org.apache.solr.search.SyntaxError;
3939
import org.apache.solr.util.BaseTestHarness;
40+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
4041
import org.junit.After;
4142
import org.junit.BeforeClass;
43+
import org.junit.ClassRule;
4244
import org.junit.Test;
45+
import org.junit.rules.TestRule;
4346

4447
public class BJQParserTest extends SolrTestCaseJ4 {
4548

4649
private static final String[] klm = new String[] {"k", "l", "m"};
4750
private static final List<String> xyz = Arrays.asList("x", "y", "z");
4851
private static final String[] abcdef = new String[] {"a", "b", "c", "d", "e", "f"};
4952

53+
@ClassRule
54+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
55+
5056
@BeforeClass
5157
public static void beforeClass() throws Exception {
5258
initCore("solrconfig.xml", "schema15.xml");

solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,24 @@
3535
import org.apache.solr.common.SolrInputDocument;
3636
import org.apache.solr.common.cloud.ZkStateReader;
3737
import org.apache.solr.common.util.IOUtils;
38+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3839
import org.junit.AfterClass;
3940
import org.junit.BeforeClass;
41+
import org.junit.ClassRule;
4042
import org.junit.Test;
43+
import org.junit.rules.TestRule;
4144

4245
public class TestCloudNestedDocsSort extends SolrCloudTestCase {
4346

44-
private static ArrayList<String> vals = new ArrayList<>();
47+
private static final ArrayList<String> vals = new ArrayList<>();
4548
private static CloudSolrClient client;
4649
private static int maxDocs;
4750
private static String matchingParent;
4851
private static String matchingChild;
4952

53+
@ClassRule
54+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
55+
5056
@BeforeClass
5157
public static void setupCluster() throws Exception {
5258
final int numVals = atLeast(10);

solr/core/src/test/org/apache/solr/search/join/TestNestedDocsSort.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,17 @@
2525
import org.apache.solr.search.SolrCache;
2626
import org.apache.solr.search.SortSpec;
2727
import org.apache.solr.search.SortSpecParsing;
28+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
2829
import org.junit.BeforeClass;
30+
import org.junit.ClassRule;
2931
import org.junit.Test;
32+
import org.junit.rules.TestRule;
3033

3134
public class TestNestedDocsSort extends SolrTestCaseJ4 {
3235

36+
@ClassRule
37+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
38+
3339
@BeforeClass
3440
public static void beforeClass() throws Exception {
3541
initCore("solrconfig.xml", "schema.xml");

solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,16 @@
2929
import org.apache.solr.SolrTestCaseJ4;
3030
import org.apache.solr.request.SolrQueryRequest;
3131
import org.apache.solr.search.join.BlockJoinParentQParser;
32+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
3233
import org.junit.BeforeClass;
34+
import org.junit.ClassRule;
35+
import org.junit.rules.TestRule;
3336

3437
public class BJQFilterAccessibleTest extends SolrTestCaseJ4 {
3538

39+
@ClassRule
40+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
41+
3642
@BeforeClass
3743
public static void beforeClass() throws Exception {
3844
initCore("solrconfig.xml", "schema15.xml");

solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,16 @@
6666
import org.apache.solr.request.LocalSolrQueryRequest;
6767
import org.apache.solr.request.SolrQueryRequest;
6868
import org.apache.solr.search.SolrIndexSearcher;
69+
import org.apache.solr.util.RandomNoReverseMergePolicyFactory;
6970
import org.apache.solr.util.RefCounted;
7071
import org.hamcrest.MatcherAssert;
7172
import org.junit.After;
7273
import org.junit.AfterClass;
7374
import org.junit.Before;
7475
import org.junit.BeforeClass;
76+
import org.junit.ClassRule;
7577
import org.junit.Test;
78+
import org.junit.rules.TestRule;
7679
import org.slf4j.Logger;
7780
import org.slf4j.LoggerFactory;
7881
import org.w3c.dom.Document;
@@ -96,6 +99,9 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
9699
private RefCounted<SolrIndexSearcher> searcherRef;
97100
private SolrIndexSearcher _searcher;
98101

102+
@ClassRule
103+
public static final TestRule noReverseMerge = RandomNoReverseMergePolicyFactory.createRule();
104+
99105
@BeforeClass
100106
public static void beforeClass() throws Exception {
101107
String oldCacheNamePropValue = System.getProperty("blockJoinParentFilterCache");

0 commit comments

Comments
 (0)