Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 61022200B85 for ; Thu, 1 Sep 2016 07:47:15 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5B363160ABA; Thu, 1 Sep 2016 05:47:15 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9F7E1160AB4 for ; Thu, 1 Sep 2016 07:47:14 +0200 (CEST) Received: (qmail 19127 invoked by uid 500); 1 Sep 2016 05:47:13 -0000 Mailing-List: contact user-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@zookeeper.apache.org Delivered-To: mailing list user@zookeeper.apache.org Received: (qmail 19106 invoked by uid 99); 1 Sep 2016 05:47:13 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Sep 2016 05:47:13 +0000 Received: from mail-it0-f42.google.com (mail-it0-f42.google.com [209.85.214.42]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 1ECBB1A04AC; Thu, 1 Sep 2016 05:47:13 +0000 (UTC) Received: by mail-it0-f42.google.com with SMTP id e124so84372502ith.0; Wed, 31 Aug 2016 22:47:13 -0700 (PDT) X-Gm-Message-State: AE9vXwOgH9OBd+oAY6be7j5DSdwW1NH+l3f8RGrnFDcjSx798u8bJA5c3OuWbl10nBLxtB+2zwDgC9e/fiv6qA== X-Received: by 10.36.129.193 with SMTP id q184mr17733403itd.35.1472708832382; Wed, 31 Aug 2016 22:47:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.137.84 with HTTP; Wed, 31 Aug 2016 22:47:11 -0700 (PDT) In-Reply-To: References: <1717792521.2377662.1472602547300.ref@mail.yahoo.com> <1717792521.2377662.1472602547300@mail.yahoo.com> From: Benjamin Reed Date: Wed, 31 Aug 2016 22:47:11 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Issue with NettyServerCnxn.java To: Patrick Hunt Cc: DevZooKeeper , yuliya Feldman , "user@zookeeper.apache.org" Content-Type: multipart/alternative; boundary=94eb2c08bc7ecfd540053b6bbece archived-at: Thu, 01 Sep 2016 05:47:15 -0000 --94eb2c08bc7ecfd540053b6bbece Content-Type: text/plain; charset=UTF-8 if i remember correctly the case in sendResponse where it is catching the IOException is due to the fact that we are opportunistically trying to send something on a non-blocking channel. if it works, ok, but if we can't send because we are blocked then we will just send later. in the case of NIOServerCnxn there really shouldn't be any exceptions in sendResponse since it's just queuing. i think the catch is probably there so that the exception does not get propagated up and kill everything. ben On Wed, Aug 31, 2016 at 9:52 PM, Patrick Hunt wrote: > Hi Yuliya - my read is that sendResponse in NIOServerCnxn is logging, > then dropping, any Exceptions encountered during sendResponse. In other > words it's doing best effort response. Not sure if that is "correct", but > that's what it's currently doing in NIO. Surprisingly it's also hiding any > IOExceptions, which is part of the method signature as defined by > ServerCnxn. Some of the calling code is trying to handle IOException in > some cases which is odd... I suspect it was an oversight in ZOOKEEPER-597, > but I'm not sure. > > Ben any insight? > > Patrick > > On Tue, Aug 30, 2016 at 5:15 PM, yuliya Feldman < > yufeldman@yahoo.com.invalid> wrote: > >> Hello there, >> We have been extensively testing Netty connection versus NIIO and there >> are some issues that show up I wanted to get community response on. >> In the process of testing https://issues.apache. >> org/jira/browse/ZOOKEEPER-2509 fix we identified that sendResponse() >> method may try to do some operations after close() was invoked - as >> channel.close() in Netty is asynch. and subsequently lead to some NPE. >> NPE itself is not a good thing but the problems aggravates with the fact >> that propagation of NPE will lead to main processing thread exiting and at >> that point ZK server becomes unresponsive - since no requests will be >> processed anymore. >> In NIOServerCnxn.java in sendResponse() it is catching Exception and just >> logs a warning which was added as part of https://issues.apache.org/jira >> /browse/ZOOKEEPER-597 >> I am trying to understand what a behavior should be in case of any >> exception in sendResponse. >> Any insight would be highly appreciated >> Thanks,Yuliya >> >> > --94eb2c08bc7ecfd540053b6bbece--