[TEST] Concurrent percolation more randomized + safe use of rand
This commit is contained in:
parent
34426eb8c2
commit
521f8b28b5
|
@ -85,7 +85,8 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
final AtomicBoolean stop = new AtomicBoolean(false);
|
||||
final AtomicInteger counts = new AtomicInteger(0);
|
||||
final AtomicReference<Throwable> exceptionHolder = new AtomicReference<>();
|
||||
Thread[] threads = new Thread[5];
|
||||
Thread[] threads = new Thread[scaledRandomIntBetween(2, 5)];
|
||||
final int numberOfPercolations = scaledRandomIntBetween(1000, 10000);
|
||||
|
||||
for (int i = 0; i < threads.length; i++) {
|
||||
Runnable r = new Runnable() {
|
||||
|
@ -95,7 +96,7 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
start.await();
|
||||
while (!stop.get()) {
|
||||
int count = counts.incrementAndGet();
|
||||
if ((count > 10000)) {
|
||||
if ((count > numberOfPercolations)) {
|
||||
stop.set(true);
|
||||
}
|
||||
PercolateResponse percolate;
|
||||
|
@ -147,9 +148,9 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
public void testConcurrentAddingAndPercolating() throws Exception {
|
||||
createIndex("index");
|
||||
ensureGreen();
|
||||
final int numIndexThreads = 3;
|
||||
final int numPercolateThreads = 6;
|
||||
final int numPercolatorOperationsPerThread = 1000;
|
||||
final int numIndexThreads = scaledRandomIntBetween(1, 3);
|
||||
final int numPercolateThreads = scaledRandomIntBetween(2, 6);
|
||||
final int numPercolatorOperationsPerThread = scaledRandomIntBetween(100, 1000);
|
||||
|
||||
final Set<Throwable> exceptionsHolder = ConcurrentCollections.newConcurrentSet();
|
||||
final CountDownLatch start = new CountDownLatch(1);
|
||||
|
@ -217,6 +218,7 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
|
||||
Thread[] percolateThreads = new Thread[numPercolateThreads];
|
||||
for (int i = 0; i < numPercolateThreads; i++) {
|
||||
final Random rand = new Random(getRandom().nextLong());
|
||||
Runnable r = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -231,10 +233,9 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
.field("field1", "value")
|
||||
.field("field2", "value")
|
||||
.endObject().endObject();
|
||||
Random random = getRandom();
|
||||
start.await();
|
||||
for (int counter = 0; counter < numPercolatorOperationsPerThread; counter++) {
|
||||
int x = random.nextInt(3);
|
||||
int x = rand.nextInt(3);
|
||||
int atLeastExpected;
|
||||
PercolateResponse response;
|
||||
switch (x) {
|
||||
|
@ -294,8 +295,8 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
public void testConcurrentAddingAndRemovingWhilePercolating() throws Exception {
|
||||
createIndex("index");
|
||||
ensureGreen();
|
||||
final int numIndexThreads = 3;
|
||||
final int numberPercolateOperation = 100;
|
||||
final int numIndexThreads = scaledRandomIntBetween(1, 3);
|
||||
final int numberPercolateOperation = scaledRandomIntBetween(10, 100);
|
||||
|
||||
final AtomicReference<Throwable> exceptionHolder = new AtomicReference<>(null);
|
||||
final AtomicInteger idGen = new AtomicInteger(0);
|
||||
|
@ -304,6 +305,7 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
Thread[] indexThreads = new Thread[numIndexThreads];
|
||||
final Semaphore semaphore = new Semaphore(numIndexThreads, true);
|
||||
for (int i = 0; i < indexThreads.length; i++) {
|
||||
final Random rand = new Random(getRandom().nextLong());
|
||||
Runnable r = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -314,7 +316,7 @@ public class ConcurrentPercolatorTests extends ElasticsearchIntegrationTest {
|
|||
while (run.get()) {
|
||||
semaphore.acquire();
|
||||
try {
|
||||
if (!liveIds.isEmpty() && getRandom().nextInt(100) < 19) {
|
||||
if (!liveIds.isEmpty() && rand.nextInt(100) < 19) {
|
||||
String id;
|
||||
do {
|
||||
if (liveIds.isEmpty()) {
|
||||
|
|
Loading…
Reference in New Issue