[ https://issues.apache.org/jira/browse/CXF-8895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Manuel updated CXF-8895: ------------------------ Description: 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}} was: 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) 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}} > 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)