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/
