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

Bug 343020

Summary: [region] need to perform a consistency check when starting from persistent digraph
Product: [Eclipse Project] Equinox Reporter: Thomas Watson <tjwatson>
Component: ComponentsAssignee: Thomas Watson <tjwatson>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: alasdair, glyn.normington, katya.stoycheva
Version: 3.7   
Target Milestone: Luna M1   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 412883    

Description Thomas Watson CLA 2011-04-15 16:38:40 EDT
The code in RegionManager.loadRegionDigraph() currently has the following TODO

// TODO need to validate bundle IDs to make sure they are consistent with current bundles

We must do two things:

1) make sure all the bundle ids in the digraph have associated bundles installed in the framework, if not then remove the bundle ids from their regions.
2) make sure all installed bundles are contained in a region in the digraph, if a bundle is found not be included in a Region then it should be added to the "kernel" region.

We have also discussed the need to check the Equinox State timestamp to see if it has changed since the digraph was persisted.  If the timestamp has not changed then no consistency check is needed.  If the timestamp has changed then we must do a consistency check and we may have to perform a refresh operation to ensure all the bundles in the system are re-resolved with the policy of the digraph.
Comment 1 Thomas Watson CLA 2011-04-15 16:39:40 EDT
Belongs in components.
Comment 2 Thomas Watson CLA 2013-07-12 11:53:07 EDT
I'm not sure why this was never addressed, but it is pretty severe when it surfaces.  We need to fix this in luna and probably backport to Kepler.