Bug 184544 - [prov] Ensure early presence of the SimpleConfigurator
Summary: [prov] Ensure early presence of the SimpleConfigurator
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Incubator (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4 M3   Edit
Assignee: equinox.incubator-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2007-04-27 20:33 EDT by Dave Stevenson CLA
Modified: 2007-10-18 13:42 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Stevenson CLA 2007-04-27 20:33:08 EDT
The current metadata generator causes the metadata/artifact(s) for the SimpleConfigurator to be included in the content.xml, so that the target install may be managed by the SimpleConfigurator. (As I understand it) once the SimpleConfigurator bundle is installed and started in the framework, then ConfigurationManipulator switches to using the SimpleConfigurator (exactly how this happens is still a little fuzzy for me - Pascal can provide a sensible description). However, the order in which the IUs appear and are process by the Engine is a somewhat arbitrary result of the dependency resolution process so the point at which the SimpleConfigurator starts getting used is somewhat random. This means that the Eclipse Touchpoint produces a config.ini file with a list of osgi.bundles in it for a while, then switches to using a bundles.txt file.

The config.ini file is read and rewritten for each bundle that is added. With ~4000 bundles in a big install, this is a major performance problem.

1). The InstallableUnits in an install should be sorted to get the SimpleConfigurator bundle installed early (top sort the dependency graph and install leaves first...).
2). config.ini and/or bundle.txt should be re-read as seldom as possible - eg. write for every addition, but only re-read if the current version is inconsistent with that last written.
Comment 1 Pascal Rapicault CLA 2007-10-18 13:42:31 EDT
The operands provided to the engine are now topologically sorted and thus ensuring simpleconfigurator is added early.
As for the performance worry, the configuration is now only been written/read once per phase thus limiting the number of time we go to the filesystem.