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