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

Michael Han commented on ZOOKEEPER-2549:
----------------------------------------

LGTM. 
Two nits:
* Here might just use LOG.debug (for consistency with rest of places in the 
patch). 
{code}
if (LOG.isDebugEnabled()) {
    LOG.debug("Problem sending to " + getRemoteSocketAddress(), ex);
}
{code}
* IIUC, the reflection and wildcard type parameter was introduced to improve 
testability (for the Mock* classes to work), if so, might worth to comment that 
a little bit in code, for example commenting on 'serverCnxnClassCtr', which is 
not obvious to readers about what it's designed for by looking at source code 
alone.

> As NettyServerCnxn.sendResponse() allows all the exception to bubble up it 
> can stop main ZK requests processing thread
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2549
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2549
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.5.1
>            Reporter: Yuliya Feldman
>            Assignee: Yuliya Feldman
>         Attachments: ZOOKEEPER-2549.patch, ZOOKEEPER-2549.patch, 
> zookeeper-2549-1.patch
>
>
> As NettyServerCnxn.sendResponse() allows all the exception to bubble up it 
> can stop main ZK requests processing thread and make Zookeeper server look 
> like it is hanging, while it just can not process any request anymore.
> Idea is to catch all the exceptions in NettyServerCnxn.sendResponse() , 
> convert them to IOException and allow it propagating up



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

Reply via email to