Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.2.0
-
None
Description
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.