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

ASF GitHub Bot commented on ZOOKEEPER-2549:
-------------------------------------------

Github user hanm commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/99#discussion_r90924628
  
    --- Diff: src/java/main/org/apache/zookeeper/server/NettyServerCnxn.java ---
    @@ -71,7 +71,7 @@
         NettyServerCnxnFactory factory;
         boolean initialized;
         
    -    NettyServerCnxn(Channel channel, ZooKeeperServer zks, 
NettyServerCnxnFactory factory) {
    +    public NettyServerCnxn(Channel channel, ZooKeeperServer zks, 
NettyServerCnxnFactory factory) {
    --- End diff --
    
    @yufeldman Thanks for explaining, makes sense to me. It is required to run 
the tests, however I do find another problem with tests: it looks like the 
Netty tests (testNetty*) never run with current configuration. Proof: remove 
the public access specifier appertain to `NettyServerCnxn` and all tests of 
`ServerCxnExceptionsTest` still pass. We expect Netty related tests fail here 
without public access specifier, right? Now put back the public for 
`NettyServerCnxn` but remove the public access specifier appertains to 
`NIOServercCnxn`, now all tests failed while we expect only NIO tests fail but 
Netty tests pass. 
    
    It's likely caused by the intervening of the java system properties that 
controls the Netty vs NIO server selection. One solution is to split the 
`ServerCxnExceptionsTest` into Netty and NIO specific tests. 


> 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-2.patch, ZOOKEEPER-2549-3.patch, 
> ZOOKEEPER-2549-3.patch, ZOOKEEPER-2549-4.patch, ZOOKEEPER-2549-5.patch, 
> 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