You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Anthony Communier (JIRA)" <ji...@apache.org> on 2013/12/19 16:40:08 UTC

[jira] [Comment Edited] (CXF-5470) Usage of HttpAsyncClient with async calls is unstable

    [ https://issues.apache.org/jira/browse/CXF-5470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13852959#comment-13852959 ] 

Anthony Communier edited comment on CXF-5470 at 12/19/13 3:39 PM:
------------------------------------------------------------------

What was fixed in release 4.0 beta 4 and 4.0 GA seems to be critical (specialy infinite loop & deadlock). Redisign was made in beat4

Release 4.0
-------------------

This is the first stable (GA) release of Apache HttpAsyncClient 4.0. HttpAsyncClient is a library 
for asynchronous client-side HTTP communication built on top of HttpCore NIO transport. 
It is a complementary library to Apache HttpClient intended and optimized for special cases 
whereby ability to scale to many thousands of concurrent connections is more important than 
performance in terms of raw data throughput. 

HttpAsyncClient 4.0 is designed to have similar APIs as Apache HttpClient 4.3 and a comparable
feature set. In addition HttpAsyncClient provides full support for zero-copy file upload and 
download operations. It presently does not support transparent content decompression and automatic 
I/O error recovery. These features may be added in future releases.


Changelog:
-------------------

* [ HTTPASYNC-56] Fixed thread deadlock in DefaultClientExchangeHandlerImpl.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-57] HTTPS request execution via a HTTP proxy can cause an infinite loop.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-52] Proxy configuration set at the request level does not apply.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-51] Request producers do not get correctly reset if the server responds early 
  (out of sequence), which can cause entity enclosing requests to be malformed in case of 
  re-execution.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-45] CachingHttpAsyncClient to override Future returned by the backend.
  Contributed by James Leigh <james at 3roundstones dot com>


Release 4.0 Beta 4
-------------------

The 4.0 BETA4 release delivers significant performance improvements in request execution,
especially for short HTTP messages, and also re-aligns programming interfaces used by the library 
with HttpCore 4.3 and HttpClient 4.3 APIs. Configuration and preference APIs of HttpAsyncClient
are now consistent with those used by HttpClient 4.3.

Users of previous releases of HttpAsyncClient are advised to upgrade.

Changelog:

* [HTTPCLIENT-1353] 303 Redirects Should be Cacheable
  Contributed by James Leigh <james at 3roundstones dot com>

* Redesign of configuration and preference APIs. 
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* Redesign of connection management APIs.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-34] HttpAsyncClient fails to re-start request execution if the opposite end 
  prematurely terminates persistent connection. 
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-28] PoolEntry's expiry information is never updated.
  Contributed by Daniel Kulp <dkulp at apache.org>



was (Author: anthonyc):
What was fixed in release 4.0 beat 4 and 4.0 GA seems to be critical (specialy infinite loop & deadlock). Redisign was made in beat4

Release 4.0
-------------------

This is the first stable (GA) release of Apache HttpAsyncClient 4.0. HttpAsyncClient is a library 
for asynchronous client-side HTTP communication built on top of HttpCore NIO transport. 
It is a complementary library to Apache HttpClient intended and optimized for special cases 
whereby ability to scale to many thousands of concurrent connections is more important than 
performance in terms of raw data throughput. 

HttpAsyncClient 4.0 is designed to have similar APIs as Apache HttpClient 4.3 and a comparable
feature set. In addition HttpAsyncClient provides full support for zero-copy file upload and 
download operations. It presently does not support transparent content decompression and automatic 
I/O error recovery. These features may be added in future releases.


Changelog:
-------------------

* [ HTTPASYNC-56] Fixed thread deadlock in DefaultClientExchangeHandlerImpl.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-57] HTTPS request execution via a HTTP proxy can cause an infinite loop.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-52] Proxy configuration set at the request level does not apply.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-51] Request producers do not get correctly reset if the server responds early 
  (out of sequence), which can cause entity enclosing requests to be malformed in case of 
  re-execution.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-45] CachingHttpAsyncClient to override Future returned by the backend.
  Contributed by James Leigh <james at 3roundstones dot com>


Release 4.0 Beta 4
-------------------

The 4.0 BETA4 release delivers significant performance improvements in request execution,
especially for short HTTP messages, and also re-aligns programming interfaces used by the library 
with HttpCore 4.3 and HttpClient 4.3 APIs. Configuration and preference APIs of HttpAsyncClient
are now consistent with those used by HttpClient 4.3.

Users of previous releases of HttpAsyncClient are advised to upgrade.

Changelog:

* [HTTPCLIENT-1353] 303 Redirects Should be Cacheable
  Contributed by James Leigh <james at 3roundstones dot com>

* Redesign of configuration and preference APIs. 
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* Redesign of connection management APIs.
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-34] HttpAsyncClient fails to re-start request execution if the opposite end 
  prematurely terminates persistent connection. 
  Contributed by Oleg Kalnichevski <olegk at apache.org>

* [HTTPASYNC-28] PoolEntry's expiry information is never updated.
  Contributed by Daniel Kulp <dkulp at apache.org>


> Usage of HttpAsyncClient with async calls is unstable
> -----------------------------------------------------
>
>                 Key: CXF-5470
>                 URL: https://issues.apache.org/jira/browse/CXF-5470
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.7.8
>            Reporter: Anthony Communier
>            Priority: Critical
>
> We are facing some problem using of httpasyncclient with async soap calls. Sometimes result are not returned. It occurs when configuration (org.apache.cxf.transport.http.async.usePolicy) is set with ASYNC_ONLY. This behaviour is not observed with the set to NEVER.
> I remark that the dependency version of httpasyncclient is 4.0-beta3. Ga version of httpasyncclient is not compatible with (there are some errors when it is used). It should be a good idea to update the version of httpasyncclient.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)