[
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)