zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2549) As NettyServerCnxn.sendResponse() allows all the exception to bubble up it can stop main ZK requests processing thread
Date Mon, 05 Dec 2016 18:23:58 GMT

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

Mime
View raw message