You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jesse Glick (JIRA)" <ji...@codehaus.org> on 2011/04/04 20:28:23 UTC

[jira] Commented: (MINDEXER-18) Indexer is OOM prone while indexing large ZIP files

    [ http://jira.codehaus.org/browse/MINDEXER-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=262487#action_262487 ] 

Jesse Glick commented on MINDEXER-18:
-------------------------------------

Using {{Class.forName}} like this seems antimodular. There should rather be a separate artifact, {{indexer-truezip}}, which has a regular (non-optional) dependency on TrueZIP and supplies this implementation using {{META-INF/services}} or similar.

> Indexer is OOM prone while indexing large ZIP files
> ---------------------------------------------------
>
>                 Key: MINDEXER-18
>                 URL: http://jira.codehaus.org/browse/MINDEXER-18
>             Project: Maven Indexer
>          Issue Type: Improvement
>    Affects Versions: 4.0.0
>            Reporter: Tamás Cservenák
>            Assignee: Tamás Cservenák
>             Fix For: 4.1.0
>
>
> Indexer is OOM prone while indexing large ZIP files.
> Users reported that indexer tends to OOM while indexing huge (400MB+) WAR and other ZIP packed files.
> This is most likely related to JVM NIO bug:
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6280693
> Doing ZIP bencharks, searching for alternative ZIP solutions
> https://github.com/cstamas/zip-benchmarks
> More details:
> https://issues.sonatype.org/browse/NEXUS-4100
> Solution: Indexer accesses ZIP files over newly introduced ZipFacade, not directly using Java's ZipFile anymore. This facade "decides" what implementation should be used. Benchmarking showed Java's ZipFile as the fastest one, but is OOM prone.
> Next one by speed is TrueZip, but is slower since it's pure java.
> The facade on ZIP files bigger than 100MB will use TrueZip, and on smaller Java's ZIP solution, the threshold is configurable. See NEXUS-4100 for more.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira