Thomas Watson created ARIES-1034: ------------------------------------ Summary: Excessive IO when install subsystems and when initializing the root subsystem Key: ARIES-1034 URL: https://issues.apache.org/jira/browse/ARIES-1034 Project: Aries Issue Type: Improvement Components: Subsystem Reporter: Thomas Watson
I noticed this when activating the subsystem.core bundle. It was taking a long time to start subsystem.core. A lot of IO is being done to establish the constituents of the root subsystem. In my particular environment there are about 120 bundles. All of these bundles end up being constituents of the root subsystem. In the call to org.apache.aries.subsystem.core.internal.Subsystems.getRootSubsystem() the deployment manifest for the root subsystem is being rewritten once for each constituent detected and the file content gets progressively larger with each constituent added. That ends up being 121 times the whole file gets written and the final content of the file ends up being around 14 KB. I have two observations: 1) a BufferedOutputStream is not used to write the deployment manifest. Since the file can grow to several KB in size it would be optimal to use a buffered output stream. 2) can we avoid writing the persistent deployment manifest until a successful installation is done and then at the end we only write the complete deployment manifest once? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira