This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch elasticity
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/elasticity by this push:
new c058bc5e9b fixes race condition in test (#3818)
c058bc5e9b is described below
commit c058bc5e9b3b4d6add85f48aab181c3d7e1b9674
Author: Keith Turner <[email protected]>
AuthorDate: Thu Oct 5 16:57:03 2023 -0400
fixes race condition in test (#3818)
---
.../org/apache/accumulo/test/ScanServerIT.java | 30 +++++++++++++---------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/test/src/main/java/org/apache/accumulo/test/ScanServerIT.java
b/test/src/main/java/org/apache/accumulo/test/ScanServerIT.java
index 7fe25848b8..8d815b96a7 100644
--- a/test/src/main/java/org/apache/accumulo/test/ScanServerIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ScanServerIT.java
@@ -290,35 +290,41 @@ public class ScanServerIT extends SharedMiniClusterBase {
final List<Future<?>> futures = new ArrayList<>();
final ExecutorService executor = Executors.newFixedThreadPool(4);
- try (Scanner scanner = client.createScanner(tableName,
Authorizations.EMPTY);
- BatchScanner bscanner = client.createBatchScanner(tableName,
Authorizations.EMPTY)) {
- scanner.setRange(new Range());
+ try (Scanner eventualScanner = client.createScanner(tableName,
Authorizations.EMPTY);
+ Scanner immediateScanner = client.createScanner(tableName,
Authorizations.EMPTY);
+ BatchScanner eventualBScanner =
+ client.createBatchScanner(tableName, Authorizations.EMPTY);
+ BatchScanner immediateBScanner =
+ client.createBatchScanner(tableName, Authorizations.EMPTY)) {
+ eventualScanner.setRange(new Range());
+ immediateScanner.setRange(new Range());
// Confirm that the ScanServer will not complete the scan
- scanner.setConsistencyLevel(ConsistencyLevel.EVENTUAL);
+ eventualScanner.setConsistencyLevel(ConsistencyLevel.EVENTUAL);
futures.add(executor.submit(() ->
assertTimeoutPreemptively(Duration.ofSeconds(30), () -> {
- Iterables.size(scanner);
+ Iterables.size(eventualScanner);
})));
// Confirm that the TabletServer will not complete the scan
- scanner.setConsistencyLevel(ConsistencyLevel.IMMEDIATE);
+ immediateScanner.setConsistencyLevel(ConsistencyLevel.IMMEDIATE);
futures.add(executor.submit(() ->
assertTimeoutPreemptively(Duration.ofSeconds(30), () -> {
- Iterables.size(scanner);
+ Iterables.size(immediateScanner);
})));
// Test the BatchScanner
- bscanner.setRanges(Collections.singleton(new Range()));
+ eventualBScanner.setRanges(Collections.singleton(new Range()));
+ immediateBScanner.setRanges(Collections.singleton(new Range()));
// Confirm that the ScanServer will not complete the scan
- bscanner.setConsistencyLevel(ConsistencyLevel.EVENTUAL);
+ eventualBScanner.setConsistencyLevel(ConsistencyLevel.EVENTUAL);
futures.add(executor.submit(() ->
assertTimeoutPreemptively(Duration.ofSeconds(30), () -> {
- Iterables.size(bscanner);
+ Iterables.size(eventualBScanner);
})));
// Confirm that the TabletServer will not complete the scan
- bscanner.setConsistencyLevel(ConsistencyLevel.IMMEDIATE);
+ immediateBScanner.setConsistencyLevel(ConsistencyLevel.IMMEDIATE);
futures.add(executor.submit(() ->
assertTimeoutPreemptively(Duration.ofSeconds(30), () -> {
- Iterables.size(bscanner);
+ Iterables.size(immediateBScanner);
})));
UtilWaitThread.sleep(30_000);