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

Duo Zhang commented on HBASE-19200:
-----------------------------------

OK, I got the point of this article. The problem is, if we have a common thread 
pool that everything is executed in it, even your callback, then if user 
schedules blocked task in that thread pool and consumes all the threads, then 
deadlock happens.

And for us, yeah this is possible. The default rpc implementation is netty and 
the event loop can be provided by user, if user scheduled lots of blocking task 
into the event loop then we are dead. But I think it is a common sense to not 
block the event loop so I do not think this is our problem, and there is no way 
for us to solve the problem. Even if we do not provide sync client, user can 
still block the event loop and make us dead...

Any other concerns [~appy]? Thanks.

> Let ZooKeeperRegistry depend on ZKAsyncRegistry to get data from zookeeper
> --------------------------------------------------------------------------
>
>                 Key: HBASE-19200
>                 URL: https://issues.apache.org/jira/browse/HBASE-19200
>             Project: HBase
>          Issue Type: Bug
>          Components: Client, Zookeeper
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19200-v1.patch, HBASE-19200.patch
>
>
> So that we can move most of the zookeeper related code out of hbase-client 
> module.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to