Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 345406

Summary: listBundles performance is really poor Gemini management
Product: [RT] Gemini.Management Reporter: Dimitar Giormov <dimitar.giormov>
Component: CoreAssignee: Peter Peshev <peter.peshev>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: eclipse, kaloyan, michael.keith, peter.peshev
Version: pre-release   
Target Milestone: 1.0.0.M01-incubation   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
listBundles(mask) method added. peter.peshev: iplog+

Description Dimitar Giormov CLA 2011-05-11 08:15:53 EDT
In Gemini management: BundleState MBean listBundles method requires a lot of CPU power and time to complete. In small runtimes where up to 50 bundles are present on a modern PC it takes about 10+ seconds, during this time CPU is heavily used. For bigger runtimes such as eclipse it can take up to 40 min to execute. 

All this is happening because the amount of information that is gathered including import packages, import bundles, export packages, fragments, hosts, services, bundle name, id and so on.

What we suggest is that we create a listBundles method that will take a mask parameter and the developer can decide what information he/she will need in the his/hers scenario. 
This implementation will be additional on top of what the specification requires. Maybe later on it can become part of the specification.
Comment 1 Michael Keith CLA 2011-05-11 10:01:17 EDT
Changing to Gemini.Management bin.
Comment 2 Michael Keith CLA 2011-05-11 10:05:05 EDT
Reassigning to Peter.
Comment 3 Dimitar Giormov CLA 2011-05-11 11:30:40 EDT
Created attachment 195377 [details]
listBundles(mask) method added.

additionally the OSGiBundle wrapper is made to lazy load the information, since till now on creating the object the whole information was extracted thus slowing down the system significantly.
Comment 4 Peter Peshev CLA 2011-05-30 04:14:40 EDT
Fixed, by accepting the changes in the SVN
There is no build \ released version yet, but when we create one (another bug) the fix would appear
Comment 5 Peter Peshev CLA 2011-06-03 08:18:43 EDT
closed, available in the latest build