[
https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15329397#comment-15329397
]
John Ross commented on ARIES-1565:
----------------------------------
I'm extremely hesitant to replace the current FileSystem implementation. It's
been around a long time and is used by many, if not all, of the other projects.
At the very least, it's a change that would require a consensus and need some
time to breathe. I'm also not sure if we would want to completely replace the
existing behavior of reading from the ZipInputStream with always extracting the
ZIP and reading it as a directory. We would probably want the latter as an
option with the current behavior left as the default.
We could embed the behavior in Subsystems itself, but I'm also hesitant to move
Subsystems even further away from common utilities. If this is a performance
issue in Util, I would like to fix it there.
I'll note two existing technical issues with the proposed change. First, I
don't believe it's cleaning up the extracted temp files. The call to
tempFile.delete() would be against a directory which will not be deleted unless
it's empty. Second, code for Util and Subsystems must compile against 1.6.
I'm very surprised there was no noticeable difference in performance assuming
1565.patch took and is doing what's expected. It would be good to understand
exactly where the improvement in the proposed change is coming from if not from
avoiding reopening the input stream with each getEntry. Can you offer a test
case that showcases the improvements (before and after) so that we can collect
some profiling data?
> Performance Improvement: unpack subsystem artifacts to tmp folder to avoid
> directly reading from zip archive
> ------------------------------------------------------------------------------------------------------------
>
> Key: ARIES-1565
> URL: https://issues.apache.org/jira/browse/ARIES-1565
> Project: Aries
> Issue Type: Improvement
> Components: Subsystem, Util
> Affects Versions: subsystem-2.0.8, util-1.1.2
> Reporter: Wouter Bancken
> Attachments: 1565.patch
>
>
> h4. Description
> Aries copies ESA archives to a temporary zip file during the installation
> phase. Afterwards, bundles are read directly from this temporary zip which
> has a large impact on the startup performance of Aries applications. By
> unpacking the esa artifact into the temporary folder it is unpacked only
> once. Subsequent reads for the bundles (jars) can be read directly from the
> folder.
> h4. Pull request
> https://github.com/apache/aries/compare/subsystem-2.0.x...WouterBanckenACA:io_performance_optimalisation?expand=1
> h4. Mailinglist
> http://mail-archives.apache.org/mod_mbox/aries-user/201606.mbox/%3CCAL5nZgTq5FxDvURJbzcEZ9YHx6vTs3HAOuFYDYA3ec9OZbmwjA%40mail.gmail.com%3E
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)