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

aaron pieper commented on CXF-2619:
-----------------------------------

Hmm okay that sounds like a good change, I can see how that would improve 
performance for most use cases. This is kind of a peculiar edge case, this kind 
of a servlet isn't very practical in production - we merely use it for our unit 
tests to make sure we handle incoming/outgoing attachments properly.

Both of your suggested solutions seem OK (a configuration step, or detecting 
the first write) - although it seems like no matter what, you'd want to detect 
the potential for deadlock, and either prebuffer the attachment or just throw 
some kind of a human-readable error with some text describing the issue.

> Deadlock when echoing MTOM attachments back to client
> -----------------------------------------------------
>
>                 Key: CXF-2619
>                 URL: https://issues.apache.org/jira/browse/CXF-2619
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.3, 2.2.4, 2.2.5, 2.2.6
>         Environment: Windows XP
>            Reporter: aaron pieper
>            Priority: Minor
>         Attachments: frt.zip
>
>
> I've written a simple "echo" web service, which receives an attachment and 
> echoes it back. In CXF 2.2.2 and earlier, this works OK. Starting with CXF 
> 2.2.3, however, there is a somewhat unpredictable deadlock situation which 
> occurs with MTOM attachments, which causes the web server to deadlock, so 
> that it never responds to the request.
> This situation often occurs when the attachment is around 85 kilobytes or 
> greater in size. However, this boundary is not 100% consistent. Sometimes I 
> can successfully echo attachments up to 88 kilobytes in size, and sometimes 
> smaller attachments trigger the bug.
> The behavior only occurs if the same input stream is reused. Copying the 
> input into a new input stream circumvents the error. I've verified this 
> behavior began with CXF 2.2.3, and is still present in the latest 
> 2.2.6-SNAPSHOT.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to