Return-Path: Delivered-To: apmail-jakarta-httpcomponents-dev-archive@www.apache.org Received: (qmail 69796 invoked from network); 27 Nov 2007 21:48:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Nov 2007 21:48:04 -0000 Received: (qmail 2222 invoked by uid 500); 27 Nov 2007 21:47:52 -0000 Delivered-To: apmail-jakarta-httpcomponents-dev-archive@jakarta.apache.org Received: (qmail 2191 invoked by uid 500); 27 Nov 2007 21:47:51 -0000 Mailing-List: contact httpcomponents-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list httpcomponents-dev@jakarta.apache.org Received: (qmail 2182 invoked by uid 99); 27 Nov 2007 21:47:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2007 13:47:51 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2007 21:47:40 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 5A38371422B for ; Tue, 27 Nov 2007 13:47:43 -0800 (PST) Message-ID: <33236455.1196200063366.JavaMail.jira@brutus> Date: Tue, 27 Nov 2007 13:47:43 -0800 (PST) From: "Oleg Kalnichevski (JIRA)" To: httpcomponents-dev@jakarta.apache.org Subject: [jira] Commented: (HTTPCORE-127) Expose improved API for lifecycle management In-Reply-To: <12703801.1193832830593.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HTTPCORE-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546011 ] Oleg Kalnichevski commented on HTTPCORE-127: -------------------------------------------- Asankha, It is a very common problem people usually have with NIO. One cannot register new channels with the selector when it is busy selecting I/O events. The usual way of going about the problem is to queue new channels [1] using a queuing mechanism of some sort and then to register channels with the selector when it unblocks from selecting I/O events [2] [1] http://jakarta.apache.org/httpcomponents/httpcomponents-core/httpcore-nio/xref/org/apache/http/impl/nio/reactor/AbstractIOReactor.html#100 [2] http://jakarta.apache.org/httpcomponents/httpcomponents-core/httpcore-nio/xref/org/apache/http/impl/nio/reactor/AbstractIOReactor.html#147 The fact that DefaultListeningIOReactor does not employ a queuing mechanism for new channels is likely to be a bug, which we need to fix. Oleg > Expose improved API for lifecycle management > -------------------------------------------- > > Key: HTTPCORE-127 > URL: https://issues.apache.org/jira/browse/HTTPCORE-127 > Project: HttpComponents Core > Issue Type: Improvement > Components: HttpCore NIO > Affects Versions: 4.0-alpha6 > Reporter: Asankha C. Perera > Fix For: 4.0-beta1 > > > Apache Synapse uses HttpCore and we would like to stop accepting new connections to put our servers into a "maintenance" mode. In this mode any in-flight requests already being served will continue as normal (i.e. reading, writing etc) but new connections should be rejected, so that a load balancer could direct new connections to another instance in the cluster. The requirement is to then update configuration, apply patches or cleanly shutdown etc. for maintenance without effecting any in-flight requests. > Implementation wise I think this would be fairly straightforward as we can remove OP_ACCEPT from the interested ops. > On the mailing list Odi suggested that we tackle this at a broader level by exposing lifecycle management APIs > "I suggest create, start, stop, destroy methods in some classes/APIs (semantics of JBoss Service MBeans)" -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org