[ https://issues.apache.org/jira/browse/WICKET-4113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122602#comment-13122602 ]
Martin Grigorov commented on WICKET-4113: ----------------------------------------- I'm not saying that we don't know how to use and write buffers and streams, I'm just saying that we cannot test the implementation in real environment to see that it actually improves. > Whole response is cached in memory > ---------------------------------- > > Key: WICKET-4113 > URL: https://issues.apache.org/jira/browse/WICKET-4113 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 1.4.18 > Reporter: Adam PierzchaĆa > Priority: Critical > > In class {{org.apache.wicket.protocol.http.portlet.WicketResponseState}} > there is used {{CharArrayWriterBuffer}} and {{ByteArrayOutputStream}} to > cache in memory whole response. > This creates issues with Java heap space when downloading big files: > {noformat} > Caused by: java.lang.OutOfMemoryError: Java heap space > at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:70) > at > org.apache.wicket.protocol.http.portlet.WicketResponseState$1.write(WicketResponseState.java:439) > at java.io.OutputStream.write(OutputStream.java:99) > {noformat} > I think there should be used stream implementation that caches big data > amounts on disk e.g. {{org.apache.cxf.io.CachedOutputStream}} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira