mirror of https://github.com/apache/lucene.git
SOLR-9363: tweak test to work around SOLR-9366 + SOLR-9367 since those issues are not key to what's being tested here
This commit is contained in:
parent
c60cd2529b
commit
04321c401c
|
@ -98,6 +98,14 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
|
|||
*/
|
||||
private static int DOC_ID_INCR;
|
||||
|
||||
/**
|
||||
* The TestInjection configuration to be used for the current test method.
|
||||
*
|
||||
* Value is set by {@link #clearCloudCollection}, and used by {@link #startTestInjection} -- but only once
|
||||
* initial index seeding has finished (we're focusing on testing atomic updates, not basic indexing).
|
||||
*/
|
||||
private String testInjection = null;
|
||||
|
||||
@BeforeClass
|
||||
private static void createMiniSolrCloudCluster() throws Exception {
|
||||
// NOTE: numDocsToCheck uses atLeast, so nightly & multiplier are alreayd a factor in index size
|
||||
|
@ -163,7 +171,15 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
|
|||
TestInjection.reset();
|
||||
|
||||
final int injectionPercentage = (int)Math.ceil(atLeast(1) / 2);
|
||||
final String testInjection = usually() ? "false:0" : ("true:" + injectionPercentage);
|
||||
testInjection = usually() ? "false:0" : ("true:" + injectionPercentage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns {@link #testInjection} to various TestInjection variables. Calling this
|
||||
* method multiple times in the same method should always result in the same setting being applied
|
||||
* (even if {@link TestInjection#reset} was called in between.
|
||||
*/
|
||||
private void startTestInjection() {
|
||||
log.info("TestInjection: fail replica, update pause, tlog pauses: " + testInjection);
|
||||
TestInjection.failReplicaRequests = testInjection;
|
||||
TestInjection.updateLogReplayRandomPause = testInjection;
|
||||
|
@ -249,10 +265,13 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
|
|||
|
||||
|
||||
// sanity check index contents
|
||||
waitForRecoveriesToFinish(CLOUD_CLIENT);
|
||||
assertEquals(0, CLOUD_CLIENT.commit().getStatus());
|
||||
assertEquals(numDocsInIndex,
|
||||
CLOUD_CLIENT.query(params("q", "*:*")).getResults().getNumFound());
|
||||
|
||||
startTestInjection();
|
||||
|
||||
// spin up parallel workers to hammer updates
|
||||
List<Future<Worker>> results = new ArrayList<Future<Worker>>(NUM_THREADS);
|
||||
for (int workerId = 0; workerId < NUM_THREADS; workerId++) {
|
||||
|
|
Loading…
Reference in New Issue