Very large LAR files can be lost just at the very end of export due to OutOfMemoryException
Description
Environment
Discovered while testing
relates
Activity

Sharry Shi June 20, 2012 at 7:41 PMEdited
PASSED Manual Testing following the steps in the description.
Fixed on:
Tomcat 6.0 + MySQL 5. Portal 6.0.x GIT ID: 7a7f550b92f423f38c959f99cafe3781aefbb7c4.
No exception while exporting large file, and can export successfully.

Sharry Shi June 5, 2012 at 7:19 PM
Block by http://issues.liferay.com/browse/LPS-27594 while testing on portal 6.0.x.

Sharry Shi June 5, 2012 at 7:18 PMEdited
PASSED Manual Testing following the steps in the description.
Reproduced on:
Tomcat 7.0 + MySQL 5. Portal 6.2.x GIT ID: a06cd4730c6cda5d6f4977984e6e312692cabcf6.
Very large LAR files can be lost just at the very end of export due to OutOfMemoryException.
Fixed on:
Tomcat 7.0 + MySQL 5. Portal 6.1.x.CE GIT ID: ac981280c5b21c19a3df8592007cf71167afd625.
Tomcat 7.0 + MySQL 5. Portal 6.1.x.EE GIT ID: 459cc2fcbbb54786f5fabb8eb5d4024c2de3d328.
Tomcat 7.0 + MySQL 5. Portal 6.2.x GIT ID: 18a4e3186796a544558c7f3c5f7d15ff903cbac7.
No exception while exporting large file, and can export successfully.

Michael Saechang May 25, 2012 at 11:38 AM
Committed on:
Portal 6.1.x CE GIT ID: 7a86dd0ccb48927e22dc5eb088f35389ae0f2729.
Portal 6.2.x GIT ID: fee0927e7ddecb1c7e9f545643e941315d049180.
Details
Assignee
Sharry ShiSharry Shi(Deactivated)Reporter
Raymond AugéRaymond AugéLabels
Branch Version/s
6.1.x6.0.xBackported to Branch
CommittedFix Priority
4Git Pull Request
Components
Affects versions
Priority
Medium
Details
Details
Assignee

Reporter

Labels
Branch Version/s
Backported to Branch
Fix Priority
Git Pull Request
Components
Affects versions
Priority
Zendesk Support
Linked Tickets
Zendesk Support
Linked Tickets
Zendesk Support

Set the portal's Heap to 4GB
upload more than 1GB of files to the doclib
export a LAR of the site (including doclib)
In all likelyhood, an OOME will occur when trying to send the resulting LAR file back over the http response.
The issue is that the StripFilter has not been disabled and will wrap the response in a StringServletResponse, which buffers the output in an UnsyncByteArrayOutputStream.