Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] unsubscribe

On Sun, Apr 4, 2010 at 1:24 AM, Simone Bordet <simone.bordet@xxxxxxxxx> wrote:
> Hi,
> On Wed, Mar 24, 2010 at 00:30, Paul Yang <pccyang@xxxxxxxxx> wrote:
>> Hi,
>> Under the following cases, some asynchronous exchanges won't come back
>> (actually some are never sent). That means neither onResponseComplete(),
>> onConnectionFailed(), onException() or onExpire() is invoked.
>> 1. connection failed and HttpDestination::_idle queue has more than allowed
>> MaxConnectionsPerAddress pending exchanges.
>> Under this case, the current implementation just calls onConnectionFailed()
>> of the first exchange from _idle queue. The rest become orphan and never get
>> send.
>> Possible fix could be; calling onConnectionFailed() for all exchanges in
>> _idle queue, or just calls onConnectionFailed() of the first exchange from
>> _idle queue then try to start a new connection if the _idle is still not
>> empty
>> 2. HttpConnection::send failed
>> When this happened, connection was neither in the idle timer or timeout
>> timer but still in HttpDestination::_connection queue, so this connection
>> never got a chance to be removed and it occupied one slot from
>> MaxConnectionsPerAddress. These connections will gradually eat up all the
>> maximum allowed connections per address and no more exchanges can be send.
>> It might be easier to see it in action. The attached files contain a quickly
>> whipped up test program (to reproduce the problem) and patch against version
>> 7.0.1.v20091125.
> Thanks, can you please raise a Bugzilla for these issues ?
> Simon
> --
> ---
> Finally, no matter how good the architecture and design are,
> to deliver bug-free software with optimal performance and reliability,
> the implementation technique must be flawless.   Victoria Livschitz
> _______________________________________________
> jetty-dev mailing list
> jetty-dev@xxxxxxxxxxx

Back to the top