hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Dimiduk (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9315) TestLruBlockCache.testBackgroundEvictionThread fails on suse
Date Fri, 23 Aug 2013 00:31:52 GMT

    [ https://issues.apache.org/jira/browse/HBASE-9315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748127#comment-13748127
] 

Nick Dimiduk commented on HBASE-9315:
-------------------------------------

The test calculates a cache size and block size such that 9 blocks will fit in cache, and
then inserts one extra block. Sometimes two single-block evictions happen instead of one single-block
or double-block eviction. My best guess for the reason is the delta between minSize and acceptableSize
is interacting with the few bytes of free space between the total size of all cached blocks
and the cache size. There also appears to be a race between when System.out.println is called
and the assert on the following line -- often "Background Evictions run: 1" is printed even
when the assertion fails.
                
> TestLruBlockCache.testBackgroundEvictionThread fails on suse
> ------------------------------------------------------------
>
>                 Key: HBASE-9315
>                 URL: https://issues.apache.org/jira/browse/HBASE-9315
>             Project: HBase
>          Issue Type: Test
>    Affects Versions: 0.95.2
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>
> One of our build machines is consistently having trouble with this test.
> {noformat}
> Error Message
> expected:<2> but was:<1>
> Stacktrace
> java.lang.AssertionError: expected:<2> but was:<1>
> 	at org.junit.Assert.fail(Assert.java:88)
> 	at org.junit.Assert.failNotEquals(Assert.java:743)
> 	at org.junit.Assert.assertEquals(Assert.java:118)
> 	at org.junit.Assert.assertEquals(Assert.java:555)
> 	at org.junit.Assert.assertEquals(Assert.java:542)
> 	at org.apache.hadoop.hbase.io.hfile.TestLruBlockCache.testBackgroundEvictionThread(TestLruBlockCache.java:85)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> 	at org.junit.runners.Suite.runChild(Suite.java:127)
> 	at org.junit.runners.Suite.runChild(Suite.java:26)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> Standard Output
> Background Evictions run: 2
> Standard Error
> 2013-08-22 11:02:58,331 INFO  [pool-1-thread-1] hbase.ResourceChecker(147): before: io.hfile.TestLruBlockCache#testBackgroundEvictionThread
Thread=35, OpenFileDescriptor=277, MaxFileDescriptor=95000, SystemLoadAverage=119, ProcessCount=75,
AvailableMemoryMB=8884, ConnectionCount=1
> 2013-08-22 11:02:58,338 INFO  [pool-1-thread-1] hbase.ResourceChecker(171): after: io.hfile.TestLruBlockCache#testBackgroundEvictionThread
Thread=36 (was 35) - Thread LEAK? -, OpenFileDescriptor=279 (was 277) - OpenFileDescriptor
LEAK? -, MaxFileDescriptor=95000 (was 95000), SystemLoadAverage=119 (was 119), ProcessCount=75
(was 75), AvailableMemoryMB=8884 (was 8884), ConnectionCount=1 (was 1)
> 2013-08-22 11:07:58,331 DEBUG [LRU Statistics #0] hfile.LruBlockCache(728): Stats: total=87.01
KB, free=10.65 KB, max=97.66 KB, blocks=8, accesses=0, hits=0, hitRatio=0, cachingAccesses=0,
cachingHits=0, cachingHitsRatio=0,evictions=2, evicted=2, evictedPerRun=1.0
> 2013-08-22 11:12:58,331 DEBUG [LRU Statistics #0] hfile.LruBlockCache(728): Stats: total=87.01
KB, free=10.65 KB, max=97.66 KB, blocks=8, accesses=0, hits=0, hitRatio=0, cachingAccesses=0,
cachingHits=0, cachingHitsRatio=0,evictions=2, evicted=2, evictedPerRun=1.0
> 2013-08-22 11:17:58,331 DEBUG [LRU Statistics #0] hfile.LruBlockCache(728): Stats: total=87.01
KB, free=10.65 KB, max=97.66 KB, blocks=8, accesses=0, hits=0, hitRatio=0, cachingAccesses=0,
cachingHits=0, cachingHitsRatio=0,evictions=2, evicted=2, evictedPerRun=1.0
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message