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