You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2014/09/22 21:57:33 UTC

[jira] [Updated] (HBASE-12055) TestBucketWriterThread hangs flakily based on timing

     [ https://issues.apache.org/jira/browse/HBASE-12055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Enis Soztutar updated HBASE-12055:
----------------------------------
    Fix Version/s: 0.98.7

> TestBucketWriterThread hangs flakily based on timing
> ----------------------------------------------------
>
>                 Key: HBASE-12055
>                 URL: https://issues.apache.org/jira/browse/HBASE-12055
>             Project: HBase
>          Issue Type: Test
>            Reporter: Enis Soztutar
>            Assignee: Nick Dimiduk
>             Fix For: 2.0.0, 0.98.7, 0.99.1
>
>
> TestBucketWriterThread sometimes hangs (esp on windows) due to timing issues with regards to the thread start and blocking queue start. 
> Test output: 
> {code}
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running org.apache.hadoop.hbase.io.hfile.bucket.TestBucketWriterThread
> 2014-09-17 13:58:43,607 INFO  [main] hbase.ResourceChecker(147): before: io.hfile.bucket.TestBucketWriterThread#testNonE
> rrorCase Thread=5, OpenFileDescriptor=0, MaxFileDescriptor=0, SystemLoadAverage=0, ProcessCount=0, AvailableMemoryMB=0,
> ConnectionCount=0
> 2014-09-17 13:58:43,625 INFO  [main] util.ByteBufferArray(57): Allocating buffers total=16 B , sizePerBuffer=32 KB, coun
> t=1
> 2014-09-17 13:58:43,631 INFO  [main] bucket.BucketCache(271): Started bucket cache; ioengine=heap, capacity=16 B, blockS
> ize=1 B, writerThreadNum=1, writerQLen=16, persistencePath=null, bucketAllocator=bucket.0: size=1, freeCount=4, used=0,
> bucket.1: size=1, freeCount=4, used=0, bucket.2: size=1, freeCount=4, used=0, bucket.3: size=1, freeCount=4, used=0
> 2014-09-17 13:58:43,716 INFO  [main-BucketCacheWriter-0] bucket.BucketCache$WriterThread(727): main-BucketCacheWriter-0
> exiting, cacheEnabled=true
> 2014-09-17 14:01:44,024 DEBUG [BucketCache Statistics #0] bucket.BucketCache(497): BucketCache Stats: failedBlockAdditio
> ns=0, total=16 B, free=16 B, usedSize=0 B, cacheSize=0 B, accesses=0, hits=0, IOhitsPerSecond=0, IOTimePerHit=NaN, hitRa
> tio=0,cachingAccesses=0, cachingHits=0, cachingHitsRatio=0,evictions=0, evicted=0, evictedPerRun=NaN
> 2014-09-17 14:04:44,206 DEBUG [BucketCache Statistics #0] bucket.BucketCache(497): BucketCache Stats: failedBlockAdditio
> ns=0, total=16 B, free=16 B, usedSize=0 B, cacheSize=0 B, accesses=0, hits=0, IOhitsPerSecond=0, IOTimePerHit=NaN, hitRa
> tio=0,cachingAccesses=0, cachingHits=0, cachingHitsRatio=0,evictions=0, evicted=0, evictedPerRun=NaN
> {code}
> Stack dump: 
> {code}
> 2014-09-17 14:01:51
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode):
> "BucketCache Statistics #0" daemon prio=6 tid=0x0000000008293000 nid=0x7e8 waiting on condition [0x000000000712f000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x000000077ad10110> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
> 	at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:662)
> "Low Memory Detector" daemon prio=6 tid=0x0000000000526000 nid=0x176c runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread1" daemon prio=10 tid=0x0000000000524800 nid=0x428 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread0" daemon prio=10 tid=0x0000000000513000 nid=0x5d0 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Attach Listener" daemon prio=10 tid=0x0000000000511000 nid=0x944 waiting on condition [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" daemon prio=10 tid=0x000000000050e000 nid=0x870 runnable [0x0000000000000000]
>    java.lang.Thread.State: RUNNABLE
> "Finalizer" daemon prio=8 tid=0x00000000004f5800 nid=0x460 in Object.wait() [0x000000000602f000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <0x000000077ad104c8> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
> 	- locked <0x000000077ad104c8> (a java.lang.ref.ReferenceQueue$Lock)
> 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
> 	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> "Reference Handler" daemon prio=10 tid=0x00000000004f3800 nid=0x67c in Object.wait() [0x0000000005f2f000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <0x000000077ad10568> (a java.lang.ref.Reference$Lock)
> 	at java.lang.Object.wait(Object.java:485)
> 	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
> 	- locked <0x000000077ad10568> (a java.lang.ref.Reference$Lock)
> "main" prio=6 tid=0x000000000025d800 nid=0xb24 waiting on condition [0x00000000025ae000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
> 	at java.lang.Thread.sleep(Native Method)
> 	at org.apache.hadoop.hbase.util.Threads.sleep(Threads.java:143)
> 	at org.apache.hadoop.hbase.io.hfile.bucket.TestBucketWriterThread.setUp(TestBucketWriterThread.java:78)
> 	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.RunBefores.evaluate(RunBefores.java:24)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> 	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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:234)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
> 	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
> 	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
> 	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
> 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
> 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
> "VM Thread" prio=10 tid=0x00000000004ed000 nid=0x550 runnable 
> "VM Periodic Task Thread" prio=10 tid=0x000000000052d800 nid=0xafc waiting on condition 
> JNI global references: 1395
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)