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

The feature that introduced the new {{HttpClientHTTPConduit}} was CXF-8840 in 
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 in 
[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 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 
> 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 in 
> 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)

Reply via email to