[
https://issues.apache.org/jira/browse/CXF-8895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17760474#comment-17760474
]
Martin commented on CXF-8895:
-----------------------------
This also affects CXF 4.x branch. We had to use the
"force.urlconnection.http.conduit" property in all our CXF clients, otherwise
the threads quickly get deadlocked, one for every remote service connection
error.
> Deadlock instead of timeout with new HttpClientHTTPConduit using large
> payloads
> -------------------------------------------------------------------------------
>
> Key: CXF-8895
> URL: https://issues.apache.org/jira/browse/CXF-8895
> Project: CXF
> Issue Type: Bug
> Affects Versions: 3.6.0, 3.6.1, 3.6.2
> Reporter: Manuel
> Priority: Major
> Attachments: GreetMeDocLiteralReq.xml
>
>
> Hello,
>
> we discovered an issue that causes a deadlock with large payloads which
> exceed the chunk-length (that is used as buffer size for an
> {{{}PipedInputStream{}}}) when sending a message to a currently
> offline/not-available server.
> Even when setting the {{ConnectionTimeout}} for the HTTPConduit to e.g.,
> 1000ms, the timeout does not occur. (the {{ReceiveTimeout}} works as expected
> though)
> The feature that introduced the new {{HttpClientHTTPConduit}} was CXF-8840
> with commit
> [1e7169|https://github.com/apache/cxf/commit/1e7169c627d6908118f99dc98d774ffb53dd38c6].
>
> What was {*}expected{*}:
> Any type of timeout-related exception.
>
> What *actually* happened:
> The thread runs into a deadlock.
>
> How to {*}reproduce{*}:
> Run
> {{org.apache.cxf.systest.dispatch.DispatchClientServerTest.testTimeout()}}
> and increase the payload of {{resources/GreetMeDocLiteralReq.xml}} (or use
> the attachment provided). The test will not terminate after the given
> timeout, the test will run indefinitely.
> The {{{}PipedInputStream{}}}'s read method was never called (server offline),
> hence the {{{}PipedOutputStream{}}}'s write method can't continue to write
> the data -> Deadlock.
>
> {{Regards,}}
> {{Manuel}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)