mirror of https://github.com/apache/lucene.git
reduce number of nodes/shards used in TriLevelCompositeIdRoutingTest to prevent (incredibly frequent) OOM in nightly
This commit is contained in:
parent
4fc218e74e
commit
806744b0f1
|
@ -16,7 +16,7 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.solr.cloud;
|
package org.apache.solr.cloud;
|
||||||
|
|
||||||
import org.apache.lucene.util.LuceneTestCase.Slow;
|
import org.apache.lucene.util.TestUtil;
|
||||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||||
import org.apache.solr.common.SolrDocument;
|
import org.apache.solr.common.SolrDocument;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
|
@ -29,15 +29,13 @@ import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
||||||
@Slow
|
|
||||||
public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||||
|
|
||||||
int NUM_APPS = 5;
|
final int NUM_APPS;
|
||||||
int NUM_USERS = 10;
|
final int NUM_USERS;
|
||||||
int NUM_DOCS = 100;
|
final int NUM_DOCS;
|
||||||
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
|
@ -52,12 +50,18 @@ public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
|
|
||||||
public TriLevelCompositeIdRoutingTest() {
|
public TriLevelCompositeIdRoutingTest() {
|
||||||
schemaString = "schema15.xml"; // we need a string id
|
schemaString = "schema15.xml"; // we need a string id
|
||||||
sliceCount = TEST_NIGHTLY ? 12 : 2; // a lot of slices for more ranges and buckets
|
|
||||||
fixShardCount(TEST_NIGHTLY ? 24 : 3);
|
|
||||||
|
sliceCount = TestUtil.nextInt(random(), 1, (TEST_NIGHTLY ? 5 : 3)); // this is the number of *SHARDS*
|
||||||
|
int replicationFactor = rarely() ? 2 : 1; // replication is not the focus of this test
|
||||||
|
fixShardCount(replicationFactor * sliceCount); // total num cores, one per node
|
||||||
|
|
||||||
|
NUM_APPS = atLeast(5);
|
||||||
|
NUM_USERS = atLeast(10);
|
||||||
|
NUM_DOCS = atLeast(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // annotated on: 24-Dec-2018
|
|
||||||
public void test() throws Exception {
|
public void test() throws Exception {
|
||||||
boolean testFinished = false;
|
boolean testFinished = false;
|
||||||
try {
|
try {
|
||||||
|
@ -68,6 +72,8 @@ public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
waitForRecoveriesToFinish(true);
|
waitForRecoveriesToFinish(true);
|
||||||
|
|
||||||
doTriLevelHashingTest();
|
doTriLevelHashingTest();
|
||||||
|
del("*:*");
|
||||||
|
commit();
|
||||||
doTriLevelHashingTestWithBitMask();
|
doTriLevelHashingTestWithBitMask();
|
||||||
|
|
||||||
testFinished = true;
|
testFinished = true;
|
||||||
|
@ -98,7 +104,7 @@ public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
|
|
||||||
for (int i = 1; i <= sliceCount; i++) {
|
for (int i = 1; i <= sliceCount; i++) {
|
||||||
|
|
||||||
Set<String> ids = doQueryGetUniqueIdKeys("q", "*:*", "shards", "shard" + i);
|
Set<String> ids = doQueryGetUniqueIdKeys("q", "*:*", "rows", ""+NUM_DOCS, "shards", "shard" + i);
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
assertFalse("Found the same route key [" + id + "] in 2 shards.", idMap.containsKey(id));
|
assertFalse("Found the same route key [" + id + "] in 2 shards.", idMap.containsKey(id));
|
||||||
idMap.put(getKey(id), i);
|
idMap.put(getKey(id), i);
|
||||||
|
@ -112,7 +118,6 @@ public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
log.info("### STARTING doTriLevelHashingTestWithBitMask");
|
log.info("### STARTING doTriLevelHashingTestWithBitMask");
|
||||||
// for now, we know how ranges will be distributed to shards.
|
// for now, we know how ranges will be distributed to shards.
|
||||||
// may have to look it up in clusterstate if that assumption changes.
|
// may have to look it up in clusterstate if that assumption changes.
|
||||||
del("*:*");
|
|
||||||
|
|
||||||
for (int i = 0; i < NUM_DOCS; i++) {
|
for (int i = 0; i < NUM_DOCS; i++) {
|
||||||
int appId = r.nextInt(NUM_APPS) + 1;
|
int appId = r.nextInt(NUM_APPS) + 1;
|
||||||
|
@ -130,7 +135,7 @@ public class TriLevelCompositeIdRoutingTest extends ShardRoutingTest {
|
||||||
|
|
||||||
for (int i = 1; i <= sliceCount; i++) {
|
for (int i = 1; i <= sliceCount; i++) {
|
||||||
|
|
||||||
Set<String> ids = doQueryGetUniqueIdKeys("q", "*:*", "shards", "shard" + i);
|
Set<String> ids = doQueryGetUniqueIdKeys("q", "*:*", "rows", ""+NUM_DOCS, "shards", "shard" + i);
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
assertFalse("Found the same route key [" + id + "] in 2 shards.", idMap.containsKey(id));
|
assertFalse("Found the same route key [" + id + "] in 2 shards.", idMap.containsKey(id));
|
||||||
idMap.put(getKey(id), i);
|
idMap.put(getKey(id), i);
|
||||||
|
|
Loading…
Reference in New Issue