Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Cannot Reproduce
-
1.7.1
-
None
-
None
Description
When running the ITs, I will sometimes (~30%) get a failure that looks something like
java.lang.AssertionError: log should be faster than flush at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.accumulo.test.functional.DurabilityIT.testWriteSpeed(DurabilityIT.java:103) 2016-06-14 04:37:17,774 [functional.DurabilityIT] INFO : Attempt durations: [533, 573, 613, 664, 852] 2016-06-14 04:37:20,538 [functional.DurabilityIT] INFO : Attempt durations: [466, 470, 490, 494, 528] 2016-06-14 04:37:23,310 [functional.DurabilityIT] INFO : Attempt durations: [433, 464, 500, 512, 513] 2016-06-14 04:37:25,447 [functional.DurabilityIT] INFO : Attempt durations: [338, 345, 348, 383, 441] sync 613 flush 490 log 500 none 348
I think this is a result of my hardware being oversubscribed, or just generally not running on a beefy enough machine.
Instead of comparing medians, maybe we could compare mins, medians, and maxs, and assert that at least two of the three are ordered? I don't want to play too many funny games with the statistics here, but I also don't want the test to fail due to my specific hardware limitations.