[ https://issues.apache.org/jira/browse/CXF-8895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp updated CXF-8895: ----------------------------- Fix Version/s: 3.6.2 4.0.3 (was: 4.0.2) (was: 3.6.1) > 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 > Assignee: Daniel Kulp > Priority: Major > Fix For: 3.6.2, 4.0.3 > > 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)