[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
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
> --
> http://bordet.blogspot.com
> ---
> 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
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>