This is an automated email from the ASF dual-hosted git repository.
ctubbsii pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/master by this push:
new b681459 Fix #1488 ManyWriteAheadLogsIT wait for non-zero WALs (#1556)
b681459 is described below
commit b681459fe6d720cc847bd22917265e866c64ccf4
Author: Jeffrey Zeiberg <[email protected]>
AuthorDate: Fri Mar 13 16:51:18 2020 -0400
Fix #1488 ManyWriteAheadLogsIT wait for non-zero WALs (#1556)
* Add debugging to report seen CLOSED and UNREFERENCED WALs (not OPEN)
* Wait for open WALs to be non-zero by retrying in a loop until the test
times out
Co-Authored-By: Christopher Tubbs <[email protected]>
---
.../test/functional/ManyWriteAheadLogsIT.java | 29 +++++++++++++++++-----
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git
a/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java
b/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java
index cd86ef8..843a0ca 100644
---
a/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java
+++
b/test/src/main/java/org/apache/accumulo/test/functional/ManyWriteAheadLogsIT.java
@@ -198,16 +198,33 @@ public class ManyWriteAheadLogsIT extends
AccumuloClusterHarness {
}
private void addOpenWals(ServerContext c, Set<String> allWalsSeen) throws
Exception {
- Map<String,WalState> wals = WALSunnyDayIT._getWals(c);
- Set<Entry<String,WalState>> es = wals.entrySet();
+
int open = 0;
- for (Entry<String,WalState> entry : es) {
- if (entry.getValue() == WalState.OPEN) {
- open++;
- allWalsSeen.add(entry.getKey());
+ int attempts = 0;
+ boolean foundWal = false;
+
+ while (open == 0) {
+ attempts++;
+ Map<String,WalState> wals = WALSunnyDayIT._getWals(c);
+ Set<Entry<String,WalState>> es = wals.entrySet();
+ for (Entry<String,WalState> entry : es) {
+ if (entry.getValue() == WalState.OPEN) {
+ open++;
+ allWalsSeen.add(entry.getKey());
+ foundWal = true;
+ } else {
+ log.debug("The WalState for {} is {}", entry.getKey(),
entry.getValue()); // CLOSED or UNREFERENCED
+ }
+ }
+
+ if (!foundWal) {
+ Thread.sleep(50);
+ if (attempts % 50 == 0)
+ log.debug("No open WALs found in {} attempts.", attempts);
}
}
+ log.debug("It took {} attempt(s) to find {} open WALs", attempts, open);
assertTrue("Open WALs not in expected range " + open, open > 0 && open <
4);
}