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

John Yin commented on CXF-8629:
-------------------------------

[~reta], thanks for looking into the above report.

I noticed another strange issue.  My application sends rest messages to another 
server (which belongs to another company, therefore, I do not have access to it 
except through the API).  After using the hc5 jar, the client got 
*org.apache.hc.core5.http.ConnectionClosedException: Connection closed by peer* 
(exactly 1 minute after it sent the message) for certain messages (even with 
retries), while no problem with other messages.  The only difference between 
the succeeded messages and failed messages is that the failed messages are a 
little longer (with length > 2000 bytes).  But if I shorten the failed message 
payload from its original 2000+ bytes to 1000+ bytes, they would succeed.  The 
issue happens regardless whether AllowChunking (on the conduit) is set to true 
or false.  If hc5 jar is removed from classpath, the problem goes away.

I tried but could not reproduce the issue by sending messages from my client to 
my server in the same application (both sides use hc5, of course).

Here is the stacktrace:

2024-12-21 20:17:34.754 [Camel (camel-1) thread #27 - seda://messageRouter] 
PhaseInterceptorChain - Interceptor for 
\{https://siemensfuturenowprod.service-now.com:443/api/sieag/siam/incident}WebClient
 has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
    at 
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
 ~[cxf-core-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
 [cxf-core-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:717)
 [cxf-rt-rs-client-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1085) 
[cxf-rt-rs-client-4.1.0.jar:4.1.0]
    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:931) 
[cxf-rt-rs-client-4.1.0.jar:4.1.0]
    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:900) 
[cxf-rt-rs-client-4.1.0.jar:4.1.0]
    at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:363) 
[cxf-rt-rs-client-4.1.0.jar:4.1.0]
    at 
org.apache.camel.component.cxf.jaxrs.CxfRsProducer.invokeHttpClient(CxfRsProducer.java:339)
 [camel-cxf-rest-4.8.2.jar:4.8.2]
    at 
org.apache.camel.component.cxf.jaxrs.CxfRsProducer.process(CxfRsProducer.java:103)
 [camel-cxf-rest-4.8.2.jar:4.8.2]
    at 
org.apache.camel.support.SynchronousDelegateProducer.process(SynchronousDelegateProducer.java:48)
 [camel-support-4.8.2.jar:4.8.2]
    at 
org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
 [camel-support-4.8.2.jar:4.8.2]
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:208) 
[camel-core-processor-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:95) 
[camel-core-processor-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.processor.TryProcessor$TryState.run(TryProcessor.java:115) 
[camel-core-processor-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) 
[camel-core-processor-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323)
 [camel-base-engine-4.8.2.jar:4.8.2]
    at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)
 [camel-seda-4.8.2.jar:4.8.2]
    at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:191) 
[camel-seda-4.8.2.jar:4.8.2]
    at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:129) 
[camel-seda-4.8.2.jar:4.8.2]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
*Caused by: org.apache.hc.core5.http.ConnectionClosedException: 
ConnectionClosedException invoking 
https://siemensfuturenowprod.service-now.com:443/api/sieag/siam/incident/INC41805995:
 Connection closed by peer*
    at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
 Method) ~[?:?]
    at 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
 ~[?:?]
    at 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 ~[?:?]
    at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
 ~[?:?]
    at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
    at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1452)
 ~[cxf-rt-transports-http-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1433)
 ~[cxf-rt-transports-http-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.transport.http.asyncclient.hc5.AsyncHTTPConduit$AsyncWrappedOutputStream.close(AsyncHTTPConduit.java:440)
 ~[cxf-rt-transports-http-hc5-4.1.0.jar!/:4.1.0]
    at 
org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
 ~[cxf-core-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
 ~[cxf-core-4.1.0.jar:4.1.0]
    at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:232) 
~[cxf-core-4.1.0.jar:4.1.0]
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) 
~[cxf-core-4.1.0.jar:4.1.0]
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:717) 
~[cxf-rt-transports-http-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.transport.http.HttpClientHTTPConduit.close(HttpClientHTTPConduit.java:261)
 ~[cxf-rt-transports-http-4.1.0.jar:4.1.0]
    at 
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
 ~[cxf-core-4.1.0.jar:4.1.0]
    ... 31 more
*Caused by: org.apache.hc.core5.http.ConnectionClosedException: Connection 
closed by peer*
    at 
org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onInput(AbstractHttp1StreamDuplexer.java:353)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.inputReady(AbstractHttp1IOEventHandler.java:64)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.http.impl.nio.ClientHttp1IOEventHandler.inputReady(ClientHttp1IOEventHandler.java:41)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.client5.http.impl.async.LoggingIOSession$1.inputReady(LoggingIOSession.java:238)
 ~[httpclient5-5.4.1.jar:5.4.1]
    at 
org.apache.hc.core5.reactor.ssl.SSLIOSession.decryptData(SSLIOSession.java:641) 
~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.ssl.SSLIOSession.access$200(SSLIOSession.java:74) 
~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.ssl.SSLIOSession$1.inputReady(SSLIOSession.java:202)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:143)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:176)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:125)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at 
org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:92)
 ~[httpcore5-5.3.1.jar:5.3.1]
    at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44) 
~[httpcore5-5.3.1.jar:5.3.1]
    ... 1 more

 

Any suggestion will be greatly appreciated.

 

Thanks!

> AsyncHTTPConduit (hc5) should support chunked request / response
> ----------------------------------------------------------------
>
>                 Key: CXF-8629
>                 URL: https://issues.apache.org/jira/browse/CXF-8629
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.5.0, 3.4.5
>            Reporter: Andriy Redko
>            Assignee: Andriy Redko
>            Priority: Major
>             Fix For: 4.1.0, 3.5.10, 3.6.5, 4.0.6
>
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to