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

Sergey Shelukhin edited comment on HBASE-22079 at 3/22/19 6:28 PM:
-------------------------------------------------------------------

The ZK watcher for this was not leaked in our case, I just observed that it can 
leak if it was enabled while investigating.
[~Apache9] I renamed the method because cleanup() now is implemented centrally 
in base class, to ensure cleanup only happens once; the Impl is a protected 
method that cleanup calls in subclasses (if implemented)
I'll see if unit test can be added, although it's kind of subtle to check that 
some internal object doesn't leak


was (Author: sershe):
The ZK watcher for this was not leaked in our case, I just observed that it can 
leak if it was enabled while investigating.
[~Apache9] I renamed the method because cleanup() now is implemented centrally 
in base class, to ensure cleanup only happens once; the Impl is a protected 
method that cleanup calls in subclasses (if implemented)

> master leaks ZK on shutdown and gets stuck because of netty threads if netty 
> socket is used
> -------------------------------------------------------------------------------------------
>
>                 Key: HBASE-22079
>                 URL: https://issues.apache.org/jira/browse/HBASE-22079
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>            Priority: Major
>         Attachments: HBASE-22079.patch
>
>
> {noformat}
> "master/...:17000:becomeActiveMaster-SendThread(...1)" #311 daemon prio=5 
> os_prio=0 tid=0x0000000058c61800 nid=0x2dd0 waiting on condition 
> [0x0000000c477fe000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x00000000c4a5b3c0> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>       at 
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>       at 
> java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522)
>       at 
> java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684)
>       at 
> org.apache.zookeeper.ClientCnxnSocketNetty.doTransport(ClientCnxnSocketNetty.java:232)
>       at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1146)
> {noformat}
> This causes a bunch of netty threads to also leak it looks like, and these 
> are not daemon (by design, apparently)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to