-
Bug
-
Resolution: Fixed
-
Major
-
1.3
-
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
-
-
Empty show more show less
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.
- is cloned by
-
MAGNOLIA-2677 Caching big content may cause OutOfMemoryError
- Closed
- is related to
-
MGNLDMS-166 cache: deny url doesn't work because the file size check always votes positively
- Closed