You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Andriy Redko (Jira)" <ji...@apache.org> on 2023/06/28 13:43:00 UTC

[jira] [Commented] (CXF-8895) Deadlock instead of timeout with new HttpClientHTTPConduit using large payloads

    [ https://issues.apache.org/jira/browse/CXF-8895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17738128#comment-17738128 ] 

Andriy Redko commented on CXF-8895:
-----------------------------------

Hey [~dkulp] seems like another related issue, could you please take a look? thank you

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