Hi Veit
Thanks for the tests, I'm honestly not aware of the relevant changes
(either in CXF http-hc or rs client) that could've been not merged into
3.0.x and only limited to 3.1.x, but it is a good news it works better
with 3.1.x,
Thanks. SErgey
On 11/11/15 10:42, Veit Guna wrote:
Hi Sergey.
Upgrading to CXF 3.1.4 actually seems to fix the poblem!
I also checked your suggestion to only update the httpclient components version
and keeping CXF 3.0.7.
I tried 4.3.6 as well as the lastest available versions (httpasyncclient,
httpclient, httpcore, http-nio).
The issue stays the same.
So it seems, that changes in the CXF code from 3.0.7 to 3.1.4 fixed it.
Thanks for the feedback!
Cheers
Veit
Gesendet: Mittwoch, 11. November 2015 um 10:57 Uhr
Von: "Sergey Beryozkin" <[email protected]>
An: [email protected]
Betreff: Re: CXF JAX-RS client receives empty inputstream under load
Or may be try Http client 4.3.6 versions, I saw Aki upgrading 3.0.x pom :-)
Cheers, Sergey
On 10/11/15 13:51, Sergey Beryozkin wrote:
Hi Veit
HTTPClient versions are different in CXF 3.1.x,
in 3.1.x:
<cxf.httpcomponents.asyncclient.version>4.1</cxf.httpcomponents.asyncclient.version>
<cxf.httpcomponents.client.version>4.4.1</cxf.httpcomponents.client.version>
<cxf.httpcomponents.core.version>4.4.1</cxf.httpcomponents.core.version>
and in 3.0.x:
<cxf.httpcomponents.asyncclient.version>4.0.2</cxf.httpcomponents.asyncclient.version>
<cxf.httpcomponents.client.version>4.3.5</cxf.httpcomponents.client.version>
<cxf.httpcomponents.core.version>4.3.3</cxf.httpcomponents.core.version>
Please experiment with 3.1.x
and may be refer to your test at the HTTP Client list
Thanks, Sergey
On 10/11/15 13:38, Veit Guna wrote:
Hi.
I'm using a CXF JAX-RS 3.0.7 client proxy against a Jersey 2.19 JAX-RS
endpoint.
The client uses the interface from the server in proxy-mode. It is
also configured to use the async http conduit.
One of the REST endpoints returns an InputStream in the @GET method
signature.
The client performs CRUD operations using 10 files with a payload of
10KB in a testcase.
This testcase is executed 1000 times using 50 threads concurrently.
The CXF client is created in the testcase,
once per testcase execution, by using the JAXRSClientFactoryBean with
a shared Bus.
Now, from time to time it happens, that the CXF client proxy, invoking
the GET method, gets an InputStream
that is empty. The weird thing is, that it is very hard to reproduce
and needs multiple executions of the load testcase
to occur. Normally it takes 1-5 executions before the error occurs.
I'm wondering where that comes from. I've already verified, that the
server sends the right amount of bytes
to the client. But somehow the client doesn't seem to get them. I've
isolated the error in a separate testcase
to show the problem. If anyone is interested, I can provide the test
project.
Thanks
Veit
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/