Peter Alfred Lee created COMPRESS-503:
-----------------------------------------
Summary: "open when actually needed" for
MultiReadOnlySeekableByteChannel
Key: COMPRESS-503
URL: https://issues.apache.org/jira/browse/COMPRESS-503
Project: Commons Compress
Issue Type: Improvement
Reporter: Peter Alfred Lee
When I was adding zip64 support for split zip, I encountered a problem :
When adding testcases in {{Zip64SupportIT}}, I created a split zip with 10,000+
split segments. Then I found that I was unable to unzip it because there would
be too many open files when extracting it. We can oepn the files when actually
needed and therefore we can successfully extract such split zips with great
amount of segments.
I have set a threshold of 20 in {{MultiReadOnlySeekableByteChannel}}. The "open
when actually needed" procedure will only work when the number of split
segments is greater than the threshold.
This may be used in ZipArchiveInputStream and ZipFile cause
{{MultiReadOnlySeekableByteChannel}} is used in them.
Actually this is a pretty rare case cause most split zips would not have too
many segments. Just thinking about a split zip with 1,000+ segments - it must
be a nightmare. So I'm not sure if this is needed for
{{MultiReadOnlySeekableByteChannel.WDYT?}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)