[ 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 exceeds 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 in [Commit|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 rest 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 are discovered an issue that causes a deadlock with large payloads which exceeds 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 in [Commit|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 rest 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 with new HttpClientHTTPConduit using large payloads against offline > SOAP Server > ---------------------------------------------------------------------------------------- > > 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 > exceeds 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 in > [Commit|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 rest 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)