You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (Jira)" <ji...@apache.org> on 2019/12/04 06:51:00 UTC

[jira] [Comment Edited] (HBASE-23364) HRegionServer sometimes does not shut down.

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

Lars Hofhansl edited comment on HBASE-23364 at 12/4/19 6:50 AM:
----------------------------------------------------------------

So back to the theory above. I think I tracked it down to HBASE-23210.

[~apurtell], FYI.

I think it's this change:
{code:java}
 +    executor = Executors.newSingleThreadExecutor({code}
That causes the problem. That executor neither has daemon thread factory, nor is it shutdown (as far as I can see from looking briefly)


was (Author: lhofhansl):
So back to the theory above. I think I tracked it down to HBASE-23210.

 

> HRegionServer sometimes does not shut down.
> -------------------------------------------
>
>                 Key: HBASE-23364
>                 URL: https://issues.apache.org/jira/browse/HBASE-23364
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Priority: Major
>
> Note that I initially assumed this to be a Phoenix bug. But I tracked it down to HBase.
> ----
> I noticed that recently only. Latest build from HBase's branch-1 and latest build from Phoenix' 4.x-HBase-1.5. I don't know, yet, whether it's a Phoenix or an HBase issues.
> Just filing it here for later reference.
> jstack show this thread as the only non-daemon thread:
> {code:java}
> "pool-11-thread-1" #470 prio=5 os_prio=0 tid=0x0000558a709a4800 nid=0x238e waiting on condition [0x00007f213ad68000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x000000058eafece8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
>         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748){code}
> No other information. Somebody created a thread pool somewhere and forgot to set the threads to daemon or is not shutting down the pool properly.
> Edit: I looked for other reference of the locked objects in the stack dump, but didn't find any.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)