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)

Reply via email to