You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2010/04/27 16:10:34 UTC

[jira] Assigned: (TAP5-1116) Live lock when using compressed and virtual assets due to ByteArrayOutputStream being synchronized

     [ https://issues.apache.org/jira/browse/TAP5-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAP5-1116:
------------------------------------------

    Assignee: Howard M. Lewis Ship

> Live lock when using compressed and virtual assets due to ByteArrayOutputStream being synchronized
> --------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-1116
>                 URL: https://issues.apache.org/jira/browse/TAP5-1116
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.2.0, 5.1.0.8
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>
> VirtualAssetStreamer in 5.1 and StackAssetRequestHandler in 5.2 are both affected by this bug.  The scenario is many concurrent threads but slow connections; one thread starts to write buffered content (buffered inside a ByteArrayOutputStream) to a client; BAOS.writeTo(OutputStream) is synchronized: while that is occuring, no other thread can write that buffered content to any client.
> Solution is to not use ByteArrayOutputStream is a content buffer; instead create a class that tracks the content inside a byte array.

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