mirror of https://github.com/apache/lucene.git
SOLR-14247 Remove unneeded sleeps (#1244)
This commit is contained in:
parent
b21312f411
commit
71b869381e
|
@ -50,12 +50,10 @@ import org.apache.solr.common.params.CommonParams;
|
||||||
import org.apache.solr.common.params.UpdateParams;
|
import org.apache.solr.common.params.UpdateParams;
|
||||||
import org.apache.solr.common.util.NamedList;
|
import org.apache.solr.common.util.NamedList;
|
||||||
import org.apache.solr.common.util.Pair;
|
import org.apache.solr.common.util.Pair;
|
||||||
import org.apache.solr.common.util.TimeSource;
|
|
||||||
import org.apache.solr.common.util.Utils;
|
import org.apache.solr.common.util.Utils;
|
||||||
import org.apache.solr.core.SolrResourceLoader;
|
import org.apache.solr.core.SolrResourceLoader;
|
||||||
import org.apache.solr.util.LogLevel;
|
import org.apache.solr.util.LogLevel;
|
||||||
import org.junit.After;
|
import org.junit.Before;
|
||||||
import org.junit.AfterClass;
|
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -71,40 +69,31 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
|
|
||||||
private static SolrCloudManager cloudManager;
|
private static SolrCloudManager cloudManager;
|
||||||
private static SolrClient solrClient;
|
private static SolrClient solrClient;
|
||||||
private static TimeSource timeSource;
|
|
||||||
|
|
||||||
private static int SPEED = 1;
|
private static int SPEED = 1;
|
||||||
|
|
||||||
static Map<String, List<CapturedEvent>> listenerEvents = new ConcurrentHashMap<>();
|
static Map<String, List<CapturedEvent>> listenerEvents = new ConcurrentHashMap<>();
|
||||||
static CountDownLatch listenerCreated = new CountDownLatch(1);
|
static CountDownLatch listenerCreated;
|
||||||
static CountDownLatch finished = new CountDownLatch(1);
|
static CountDownLatch finished;
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setupCluster() throws Exception {
|
public static void setupCluster() throws Exception {
|
||||||
configureCluster(2)
|
configureCluster(2)
|
||||||
.addConfig("conf", configset("cloud-minimal"))
|
.addConfig("conf", configset("cloud-minimal"))
|
||||||
.configure();
|
.configure();
|
||||||
cloudManager = cluster.getJettySolrRunner(0).getCoreContainer().getZkController().getSolrCloudManager();
|
cloudManager = cluster.getJettySolrRunner(0).getCoreContainer().getZkController().getSolrCloudManager();
|
||||||
solrClient = cluster.getSolrClient();
|
solrClient = cluster.getSolrClient();
|
||||||
timeSource = cloudManager.getTimeSource();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@Before
|
||||||
public void restoreDefaults() throws Exception {
|
public void setDefaults() throws Exception {
|
||||||
cluster.deleteAllCollections();
|
cluster.deleteAllCollections();
|
||||||
cloudManager.getDistribStateManager().setData(SOLR_AUTOSCALING_CONF_PATH, Utils.toJSON(new ZkNodeProps()), -1);
|
cloudManager.getDistribStateManager().setData(SOLR_AUTOSCALING_CONF_PATH, Utils.toJSON(new ZkNodeProps()), -1);
|
||||||
cloudManager.getTimeSource().sleep(5000);
|
|
||||||
listenerEvents.clear();
|
listenerEvents.clear();
|
||||||
listenerCreated = new CountDownLatch(1);
|
listenerCreated = new CountDownLatch(1);
|
||||||
finished = new CountDownLatch(1);
|
finished = new CountDownLatch(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterClass
|
|
||||||
public static void teardown() throws Exception {
|
|
||||||
solrClient = null;
|
|
||||||
cloudManager = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class CapturingTriggerListener extends TriggerListenerBase {
|
public static class CapturingTriggerListener extends TriggerListenerBase {
|
||||||
@Override
|
@Override
|
||||||
public void configure(SolrResourceLoader loader, SolrCloudManager cloudManager, AutoScalingConfig.TriggerListenerConfig config) throws TriggerValidationException {
|
public void configure(SolrResourceLoader loader, SolrCloudManager cloudManager, AutoScalingConfig.TriggerListenerConfig config) throws TriggerValidationException {
|
||||||
|
@ -116,7 +105,7 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
public synchronized void onEvent(TriggerEvent event, TriggerEventProcessorStage stage, String actionName,
|
public synchronized void onEvent(TriggerEvent event, TriggerEventProcessorStage stage, String actionName,
|
||||||
ActionContext context, Throwable error, String message) {
|
ActionContext context, Throwable error, String message) {
|
||||||
List<CapturedEvent> lst = listenerEvents.computeIfAbsent(config.name, s -> new ArrayList<>());
|
List<CapturedEvent> lst = listenerEvents.computeIfAbsent(config.name, s -> new ArrayList<>());
|
||||||
CapturedEvent ev = new CapturedEvent(timeSource.getTimeNs(), context, config, stage, actionName, event, message);
|
CapturedEvent ev = new CapturedEvent(cloudManager.getTimeSource().getTimeNs(), context, config, stage, actionName, event, message);
|
||||||
log.info("=======> " + ev);
|
log.info("=======> " + ev);
|
||||||
lst.add(ev);
|
lst.add(ev);
|
||||||
}
|
}
|
||||||
|
@ -235,8 +224,6 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
response = solrClient.request(req);
|
response = solrClient.request(req);
|
||||||
assertEquals(response.get("result").toString(), "success");
|
assertEquals(response.get("result").toString(), "success");
|
||||||
|
|
||||||
timeSource.sleep(TimeUnit.MILLISECONDS.convert(waitForSeconds + 1, TimeUnit.SECONDS));
|
|
||||||
|
|
||||||
boolean await = finished.await(90000 / SPEED, TimeUnit.MILLISECONDS);
|
boolean await = finished.await(90000 / SPEED, TimeUnit.MILLISECONDS);
|
||||||
assertTrue("did not finish processing in time", await);
|
assertTrue("did not finish processing in time", await);
|
||||||
log.info("-- suspending trigger");
|
log.info("-- suspending trigger");
|
||||||
|
@ -301,7 +288,7 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
"}";
|
"}";
|
||||||
req = AutoScalingRequest.create(SolrRequest.METHOD.POST, suspendTriggerCommand);
|
req = AutoScalingRequest.create(SolrRequest.METHOD.POST, suspendTriggerCommand);
|
||||||
response = solrClient.request(req);
|
response = solrClient.request(req);
|
||||||
assertEquals(response.get("result").toString(), "success");
|
assertEquals("success", response.get("result").toString());
|
||||||
|
|
||||||
log.info("-- deleting documents");
|
log.info("-- deleting documents");
|
||||||
for (int j = 0; j < 10; j++) {
|
for (int j = 0; j < 10; j++) {
|
||||||
|
@ -312,7 +299,6 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
}
|
}
|
||||||
solrClient.request(ureq);
|
solrClient.request(ureq);
|
||||||
}
|
}
|
||||||
cloudManager.getTimeSource().sleep(5000);
|
|
||||||
// make sure the actual index size is reduced by deletions, otherwise we may still violate aboveBytes
|
// make sure the actual index size is reduced by deletions, otherwise we may still violate aboveBytes
|
||||||
UpdateRequest ur = new UpdateRequest();
|
UpdateRequest ur = new UpdateRequest();
|
||||||
ur.setParam(UpdateParams.COMMIT, "true");
|
ur.setParam(UpdateParams.COMMIT, "true");
|
||||||
|
@ -324,9 +310,6 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
log.info("-- requesting optimize / expungeDeletes / commit");
|
log.info("-- requesting optimize / expungeDeletes / commit");
|
||||||
solrClient.request(ur, collectionName);
|
solrClient.request(ur, collectionName);
|
||||||
|
|
||||||
// wait for the segments to merge to reduce the index size
|
|
||||||
cloudManager.getTimeSource().sleep(50000);
|
|
||||||
|
|
||||||
// add some docs so that every shard gets an update
|
// add some docs so that every shard gets an update
|
||||||
// we can reduce the number of docs here but this also works
|
// we can reduce the number of docs here but this also works
|
||||||
for (int j = 0; j < 1; j++) {
|
for (int j = 0; j < 1; j++) {
|
||||||
|
@ -348,8 +331,6 @@ public class IndexSizeTriggerMixedBoundsTest extends SolrCloudTestCase {
|
||||||
response = solrClient.request(req);
|
response = solrClient.request(req);
|
||||||
assertEquals(response.get("result").toString(), "success");
|
assertEquals(response.get("result").toString(), "success");
|
||||||
|
|
||||||
timeSource.sleep(TimeUnit.MILLISECONDS.convert(waitForSeconds + 1, TimeUnit.SECONDS));
|
|
||||||
|
|
||||||
await = finished.await(90000 / SPEED, TimeUnit.MILLISECONDS);
|
await = finished.await(90000 / SPEED, TimeUnit.MILLISECONDS);
|
||||||
assertTrue("did not finish processing in time", await);
|
assertTrue("did not finish processing in time", await);
|
||||||
log.info("-- suspending trigger");
|
log.info("-- suspending trigger");
|
||||||
|
|
|
@ -17,15 +17,12 @@
|
||||||
|
|
||||||
package org.apache.solr;
|
package org.apache.solr;
|
||||||
|
|
||||||
import java.lang.invoke.MethodHandles;
|
|
||||||
|
|
||||||
import org.apache.lucene.util.LuceneTestCase;
|
import org.apache.lucene.util.LuceneTestCase;
|
||||||
import org.apache.solr.util.StartupLoggingUtils;
|
import org.apache.solr.util.StartupLoggingUtils;
|
||||||
import org.junit.AfterClass;
|
import org.junit.AfterClass;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import static com.carrotsearch.randomizedtesting.RandomizedTest.systemPropertyAsBoolean;
|
import static com.carrotsearch.randomizedtesting.RandomizedTest.systemPropertyAsBoolean;
|
||||||
|
|
||||||
|
@ -42,10 +39,7 @@ import static com.carrotsearch.randomizedtesting.RandomizedTest.systemPropertyAs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class SolrTestCase extends LuceneTestCase {
|
public class SolrTestCase extends LuceneTestCase {
|
||||||
|
/**
|
||||||
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Special hook for sanity checking if any tests trigger failures when an
|
* Special hook for sanity checking if any tests trigger failures when an
|
||||||
* Assumption failure occures in a {@link BeforeClass} method
|
* Assumption failure occures in a {@link BeforeClass} method
|
||||||
* @lucene.internal
|
* @lucene.internal
|
||||||
|
|
Loading…
Reference in New Issue