[ 
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)

Reply via email to