hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCORE-127) Expose improved API for lifecycle management
Date Tue, 27 Nov 2007 21:47:43 GMT

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


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.


> 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

View raw message