cytomine / Cytomine-IMS

Cytomine-IMS: Image Management System
GNU Lesser General Public License v2.1
14 stars 16 forks source link

JavaOutOfMemory from downloading large zip file #29

Open yasushinj opened 4 years ago

yasushinj commented 4 years ago

when a user selects large files to download, we are getting outofmemory from IMS. Could you switch to ApacheCommonsCompress API or just support ZIP64 extension with the tool you prefer?

fyi https://commons.apache.org/proper/commons-compress/apidocs/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.html#:~:text=As%20of%20Apache%20Commons%20Compress,compress.

Line | Method
->> 165 doFilter in net.bull.javamelody.MonitoringFilter
1149 runWorker in java.util.concurrent.ThreadPoolExecutor
624 run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 run in java.lang.Thread
Caused by ControllerExecutionException: Runtime error executing action ->> 165 doFilter in net.bull.javamelody.MonitoringFilter
1149 runWorker in java.util.concurrent.ThreadPoolExecutor
624 run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 run in java.lang.Thread
Caused by InvocationTargetException: null ->> 165 doFilter in net.bull.javamelody.MonitoringFilter
1149 runWorker in java.util.concurrent.ThreadPoolExecutor
624 run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 run in java.lang.Thread
Caused by OutOfMemoryError: null ->> 123 hugeCapacity in java.io.ByteArrayOutputStream
117 grow in ''
93 ensureCapacity in ''
153 write in ''
253 deflate . in java.util.zip.DeflaterOutputStream
211 write in ''
331 write . . in java.util.zip.ZipOutputStream
97 write in java.io.FilterOutputStream
436 download in be.cytomine.image.ImageController
165 doFilter in net.bull.javamelody.MonitoringFilter
1149 runWorker in java.util.concurrent.ThreadPoolExecutor
624 run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 run . . . in java.lang.Thread