Ted Yu created HBASE-10480:
------------------------------
Summary: TestLogRollPeriod#testWithEdits may fail due to
insufficient waiting
Key: HBASE-10480
URL: https://issues.apache.org/jira/browse/HBASE-10480
Project: HBase
Issue Type: Test
Reporter: Ted Yu
Priority: Minor
The test waits for minRolls rolls by sleeping:
{code}
Thread.sleep((minRolls + 1) * LOG_ROLL_PERIOD);
{code}
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/
:
{code}
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
{code}
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:
{code}
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)
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)