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

Hadoop QA commented on ZOOKEEPER-2737:
--------------------------------------

+1 overall.  GitHub Pull Request  Build
      

    +1 @author.  The patch does not contain any @author tags.

    +0 tests included.  The patch appears to be a documentation patch that 
doesn't require tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs (version 3.0.1) 
warnings.

    +1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

    +1 core tests.  The patch passed core unit tests.

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/478//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/478//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/478//console

This message is automatically generated.

> NettyServerCnxFactory leaks connection if exception happens while writing to 
> a channel.
> ---------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2737
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2737
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.5.2
>            Reporter: Michael Han
>            Assignee: Michael Han
>            Priority: Critical
>              Labels: connection, netty, server
>
> Found this while debugging occasionally failed unit tests. Currently we do 
> this if exception occurs during writing to a channel with Netty:
> {code}
> @Override
>         public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent 
> e)
>             throws Exception
>         {
>             LOG.warn("Exception caught " + e, e.getCause());
>             NettyServerCnxn cnxn = (NettyServerCnxn) ctx.getAttachment();
>             if (cnxn != null) {
>                 if (LOG.isDebugEnabled()) {
>                     LOG.debug("Closing " + cnxn);
>                     cnxn.close();
>                 }
>             }
>         }
> {code}
> So the connection is only closed when debug mode is enabled. This is 
> problematic as lots of clean up code is abstracted inside the close and 
> without proper close the connection we are leaking resources.
> [Commit 
> log|https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/zookeeper/server/NettyServerCnxnFactory.java#L147]
>  indicates the issue exists since day 1 with ZOOKEEPER-733. Note the original 
> patch uploaded to ZOOKEEPER-733 has this close call in right place, and the 
> call gets moved around during iteration of the patches w/o gets noticed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to