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 21:36:59 GMT

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

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_r90960756
  
    --- 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 --
    
    >> It is not the case, they don't fall back to NIO - they fail.
    The fallback I was referring to is https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/zookeeper/server/ServerCnxnFactory.java#L130.
It gets hit when public was removed from NIOServerCnxn for Netty* tests. An example call stack
(note that a Netty test complaining about NIOServerCnxnFactory):
    ` INFO  [main:ZKTestCase$1@70] - FAILED testNettyRunTimeException
    java.io.IOException: Couldn't instantiate org.apache.zookeeper.server.NIOServerCnxnFactory
    >-------at org.apache.zookeeper.server.ServerCnxnFactory.createFactory(ServerCnxnFactory.java:142)
    >-------at org.apache.zookeeper.server.ServerCnxnFactory.createFactory(ServerCnxnFactory.java:158)
    >-------at org.apache.zookeeper.server.ServerCnxnFactory.createFactory(ServerCnxnFactory.java:152)`
    
    Thanks for persisting on this, but I don't think this erroneous case need to be investigated
further as it would not happen when real test cases were running.


> 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