[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15487637#comment-15487637 ] Wouter Bancken commented on ARIES-1565: --- The simple fix in ARIES-1612 provides a similar performance gain so it is preferred to our own fix. Especially since it only touches util in a non-breaking way which means it can be used with subsystems 2.0.8. PR for ARIES-1565 can be declined. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15485134#comment-15485134 ] Thomas Watson commented on ARIES-1565: -- I had reviewed the pull request and suggested some changes. But in light of issue aries-1612 I am wondering how that simple fix there helps with the performance in the scenario outlined in this issue. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15465408#comment-15465408 ] Tom De Wolf commented on ARIES-1565: [~jwr...@us.ibm.com] the changes are done in the pull request. Thx to [~Wouter Bancken]. Can you integrate the pull request into the Aries subsystems and aries util code base? > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15422794#comment-15422794 ] John Ross commented on ARIES-1565: -- Unfortunately, I will not be able to take the lead on this. To whomever does, I suggest the best solution would be to move the org.apache.aries.subsystem.core.internal.filesystem into org.apache.aries.util. An Aries Util release would then be required prior to another Subsystem release. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15419596#comment-15419596 ] Wouter Bancken commented on ARIES-1565: --- [~jwr...@us.ibm.com] Good to know there were actual errors and it wasn't an issue on my part. It was my first change to the Aries codebase so I wasn't sure. As for the error, I'd suggest you take the lead on this? We included the change in subsystems to avoid touching aries-utils as you suggested. Avoiding the import package seems possible on first sight but it means we'll be including more of aries-utils in subsystems and I don't know if that's desirable. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15419233#comment-15419233 ] John Ross commented on ARIES-1565: -- These symptoms were among the strangest I've ever seen. The cause is the importing of the org.apache.aries.util.filesystem.impl package in UnpackingFileSystemImpl and CleanableCLosableDirectory. This is a private package of the org.apache.aries.util bundle. It appears that either this contribution must be rewritten so that these imports are no longer needed, or the util bundle must export the package. It's not clear to me why the issue seems to only appear when running the tests and not at runtime. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15418921#comment-15418921 ] John Ross commented on ARIES-1565: -- Sounds like you're having the same issues I am. I understand the class in the error is not one you touched, but these failures only occur after I apply the patch. The connection is unclear. verifyBundleEWiredToCapability_yFromBundleG(org.apache.aries.subsystem.ctt.itests.SubsystemDependency_4DTest) Time elapsed: 0.624 sec <<< ERROR! java.lang.ClassNotFoundException: org.apache.aries.subsystem.core.internal.BundleResource cannot be found by PAXEXAM-PROBE-abf0540b-b966-45d1-8410-8687a7186588_0.0.0 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:336) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:328) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.aries.subsystem.itests.SubsystemTest.createBundleRepositoryContent(SubsystemTest.java:637) at org.apache.aries.subsystem.itests.SubsystemTest.createBundleRepositoryContent(SubsystemTest.java:633) at org.apache.aries.subsystem.itests.SubsystemTest.registerRepositoryService(SubsystemTest.java:904) at org.apache.aries.subsystem.ctt.itests.SubsystemDependencyTestBase.registerRepositoryR2(SubsystemDependencyTestBase.java:139) at org.apache.aries.subsystem.ctt.itests.SubsystemDependency_4DTest.createApplications(SubsystemDependency_4DTest.java:36) > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15418904#comment-15418904 ] John Ross commented on ARIES-1565: -- [~Wouter Bancken] When you run the full suite of tests ("mvn clean install" from the subsystem directory), do they all pass for you? > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15407635#comment-15407635 ] John Ross commented on ARIES-1565: -- It would go in as part of the next release. However, ARIES-1588 appears to be a blocker for you so that needs to be resolved as well. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15407616#comment-15407616 ] Tom De Wolf commented on ARIES-1565: [~jwr...@us.ibm.com] any idea when this can be integrated? > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15393689#comment-15393689 ] John Ross commented on ARIES-1565: -- Switching to Java 7 is not an option for at least some contributors and consumers. It would certainly be easy to provide a naive implementation on 6, but there are a number of issues to be considered when playing with subdirectories of the temp directory. See the Files.createTempDir() Guava source code comments for more information. I would prefer to use existing and hardened utilities for this if possible. I'm pretty sure the Apache 2.0 license would allow us to simply copy that method from Guava as long as we provide the appropriate attributions. Apache Commons does not have a utility for creating a temp directory. It does, however, have an existing utility for deleting directories recursively. If I'm correct that the Apache 2.0 license allows it, I would suggest copying it from there. Between those two methods, we should have what we need in order to complete this. > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15393432#comment-15393432 ] David Bosschaert commented on ARIES-1565: - I would not be in favour of adding a dependency to Google Guava for Aries Subsystems. This can cause issues if people use Guava in their own subsystems and they want a different version than the one used by Aries Subsystems. For the same reason I would not use Apache Commons just for a createTempFile() API. It should be easy to create this ourselves or why not switch to Java 7 which has Files.createTempDirectory(). > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15393349#comment-15393349 ] Wouter Bancken commented on ARIES-1565: --- Ongoing implementation based from trunk tackling technical issues > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15393347#comment-15393347 ] ASF GitHub Bot commented on ARIES-1565: --- GitHub user WouterBanckenACA opened a pull request: https://github.com/apache/aries/pull/50 ARIES-1565 Add unpacking filesystem with unzips artifacts for perform… …ance improvements You can merge this pull request into a Git repository by running: $ git pull https://github.com/WouterBanckenACA/aries ARIES-1565 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/aries/pull/50.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #50 commit 9bc697621f6cfd62675c51686a2ed41be9154b4a Author: Wouter BanckenDate: 2016-07-25T14:36:05Z ARIES-1565 Add unpacking filesystem with unzips artifacts for performance improvements > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15358568#comment-15358568 ] Wouter Bancken commented on ARIES-1565: --- [~jwr...@us.ibm.com] Using the Google Guava utility is ok for me. Can I add this issue to the blocking list in ARIES-1547 so that it is included in subsystems 2.1.0? > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > aries1565-profile.png, test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15341883#comment-15341883 ] Wouter Bancken commented on ARIES-1565: --- [~jwr...@us.ibm.com] Have you been able to reproduce my results? Have you been able to contact other members of the community to evaluate possible impact on other projects? > 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, Call_Tree_2_0_8.html, > Call_Tree_John_Ross.html, Call_Tree_Wouter_Bancken.html, > test-service-subsystem-4.0.2-SNAPSHOT.esa > > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15329595#comment-15329595 ] Wouter Bancken commented on ARIES-1565: --- [~jwr...@us.ibm.com] We totally understand the hesitation to adapt utils and we also understand embedding this in Subsystems itself might not be the optimal approach. We did the pull request like this as a suggestion for improvement (since it is a major improvement in startup time). Where the change would reside in the code should be determined by the Aries community :) The technical issues seem manageable. Including a wrapping object which does a recursive delete of a folder should solve the deletion. The code can be slightly rewritten to support java 1.6. I added an ESA file to the issue which you can you to profile some data. My results for the installation phase: - Aries 2.0.8: 10 seconds - Your suggestion: 10 seconds - Our suggestion: 3 seconds I also added some call stacks to the issue. The times in those stacks are of course higher due to the profiling. > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15329197#comment-15329197 ] Wouter Bancken commented on ARIES-1565: --- Thx for the feedback [~jwr...@us.ibm.com]. We tried to apply the patch instead of our proposed changes. We did not notice any improvements compared to the original Aries implementation (using utils 1.1.1). Our implementation is giving an improvement of 74% during the installing phase of our application. > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15327716#comment-15327716 ] John Ross commented on ARIES-1565: -- Exploring the existing code suggests to me that the performance degradation is occurring because the temp ZIP file is continually closed and reopened as each entry is obtained. This occurs in ZipDirectory.getEntry(String) because the cache is null. So there already appears to be an existing way to overcome this issue. It's simply not being used. Instead of an InputStreamClosableDirectory, I think we should have FileSystemImpl.getFSRoot(InputStream) return something that combines the behavior of both InputStreamClosableDirectory (i.e. delete the temp file) and ZipCloseableDirectory (i.e. maintain a cache to prevent the reopening of the ZIP file). This should result in comparable performance benefits with a smaller code change footprint. > 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 > > 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)
[jira] [Commented] (ARIES-1565) Performance Improvement: unpack subsystem artifacts to tmp folder to avoid directly reading from zip archive
[ https://issues.apache.org/jira/browse/ARIES-1565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15324325#comment-15324325 ] Tom De Wolf commented on ARIES-1565: [~jwr...@us.ibm.com] any chance that you could have a look to see if this can be included in a new subsystems release soon? would help our development teams enormously > 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 > > 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. 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)