Description
The test waits for minRolls rolls by sleeping:
Thread.sleep((minRolls + 1) * LOG_ROLL_PERIOD);
However, the above wait period may not be sufficient.
See https://builds.apache.org/job/HBase-TRUNK/4895/testReport/junit/org.apache.hadoop.hbase.regionserver.wal/TestLogRollPeriod/testWithEdits/ :
2014-02-06 23:02:25,710 DEBUG [RS:0;quirinus:56476.logRoller] regionserver.LogRoller(87): Hlog roll period 4000ms elapsed ... 2014-02-06 23:02:30,275 DEBUG [RS:0;quirinus:56476.logRoller] regionserver.LogRoller(87): Hlog roll period 4000ms elapsed
The interval between two successive periodic rolls was ~1.5s longer than LOG_ROLL_PERIOD (4s)
1.5s * 4 (minRolls-1) > 4s (LOG_ROLL_PERIOD)
This led to the test failure:
java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86) at org.junit.Assert.assertTrue(Assert.java:41) at org.junit.Assert.assertFalse(Assert.java:64) at org.junit.Assert.assertFalse(Assert.java:74) at org.apache.hadoop.hbase.regionserver.wal.TestLogRollPeriod.checkMinLogRolls(TestLogRollPeriod.java:168) at org.apache.hadoop.hbase.regionserver.wal.TestLogRollPeriod.testWithEdits(TestLogRollPeriod.java:130)