Caching big content may cause OutOfMemoryError
----------------------------------------------
Key: MGNLDMS-160
URL: http://jira.magnolia-cms.com/browse/MGNLDMS-160
Project: Magnolia DMS Module
Issue Type: Bug
Affects Versions: 1.3
Environment: Magnolia 3.6.3 CE
Environment1: Sun JDK 1.6.0_11, 32bit, RHEL 5.3Beta
Environment2: Sun JDK 1.6.0_03,32bit, Windows 2000
Reporter: Henryk Paluch
Assignee: Jan Haderka
magnolia-module-cache caches on public instance all data into byte[] array
which easily causes OutofMemoryError on large repositories.
NOTE: this error occures on Public instances only, whose has caching enabled!
How to reproduce:
1) Start PUBLIC magnolia instance with Heap smaller than DMS repository size,
for example -Xmx256m
2) Upload on PUBLIC instance few large files (for example 3 times 100MB PDF
files)
3) Launch new anonymous browser (to ensure, that cache is used)
4) Download (do not interrupt) the 3 large 100MB large files from public
instance
5) Usually the 2nd download will cause
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
at
info.magnolia.module.cache.filter.SimpleServletOutputStream.write(SimpleServletOutputStream.java:53)
(Full stacktrace shall be attached later)
Woraround: disable caching for large repositories (attachment pending)
Possible solution: cache module should stream large files into disk rather than
memory (as it did in 3.0.x version). This should prevent OutOfMemory error on
large Document and or Website repositories.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------