Don't assert a second time if awaitBusy returned successfully
This commit is contained in:
parent
86c95ab2ab
commit
c688ed6c9f
|
@ -44,14 +44,14 @@ public abstract class ElasticsearchTestCase extends AbstractRandomizedTest {
|
|||
awaitBusy(breakPredicate, 10, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
public void awaitBusy(Predicate<?> breakPredicate, long maxWaitTime, TimeUnit unit) throws InterruptedException {
|
||||
public boolean awaitBusy(Predicate<?> breakPredicate, long maxWaitTime, TimeUnit unit) throws InterruptedException {
|
||||
long maxTimeInMillis = TimeUnit.MILLISECONDS.convert(maxWaitTime, unit);
|
||||
long iterations = Math.max(Math.round(Math.log10(maxTimeInMillis) / Math.log10(2)), 1);
|
||||
long timeInMillis = 1;
|
||||
long sum = 0;
|
||||
for (int i = 0; i < iterations; i++) {
|
||||
if (breakPredicate.apply(null)) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
sum += timeInMillis;
|
||||
Thread.sleep(timeInMillis);
|
||||
|
@ -59,6 +59,7 @@ public abstract class ElasticsearchTestCase extends AbstractRandomizedTest {
|
|||
}
|
||||
timeInMillis = maxTimeInMillis - sum;
|
||||
Thread.sleep(Math.max(timeInMillis, 0));
|
||||
return breakPredicate.apply(null);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ import java.util.concurrent.atomic.AtomicLong;
|
|||
import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.greaterThan;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -310,11 +309,10 @@ public class RecoveryWhileUnderLoadTests extends AbstractSharedClusterTest {
|
|||
}
|
||||
|
||||
private void waitForDocs(final long numDocs) throws InterruptedException {
|
||||
awaitBusy(new Predicate<Object>() {
|
||||
assertThat(awaitBusy(new Predicate<Object>() {
|
||||
public boolean apply(Object o) {
|
||||
return client().prepareCount().setQuery(matchAllQuery()).execute().actionGet().getCount() > numDocs;
|
||||
}
|
||||
}, 5, TimeUnit.MINUTES); // not really relevant here we just have to wait some time
|
||||
assertThat(client().prepareCount().setQuery(matchAllQuery()).execute().actionGet().getCount(), greaterThan(numDocs));
|
||||
}, 5, TimeUnit.MINUTES), equalTo(true)); // not really relevant here we just have to wait some time
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue