Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 326974 - PDE state resolution
Summary: PDE state resolution
Status: RESOLVED WONTFIX
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.7   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
: 182951 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-10-04 17:29 EDT by Darin Wright CLA
Modified: 2018-12-10 10:48 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Wright CLA 2010-10-04 17:29:23 EDT
In light of bug 326502, we should review how PDE updates and resolves its OSGi state when bundles are removed/added/changed. Not clear if the change for bug 326011 is a breaking behavior change, or if PDE should update it's use of the resolver API.
Comment 1 Thomas Watson CLA 2010-10-05 08:25:25 EDT
Let me give my POV.  The resolver should be least perturbing by default.  When a bundle description which other descriptions are wired to (imported packages, required etc.) is updated then the resolver should not automatically flush the old bundle description when you call the State.resolve(BundleDescription[]) method.  These old versions of descriptions are in the "removal pending" state.  We are waiting for someone to call State.resolve(BundleDescription[]) with a description that has the same id (long) as the description that is "removal pending.  This method is telling the state to re-resolve the BundleDescriptions passed and flush out any old versions of the BundleDescriptions which have the same id (long) as the descriptions passed in.

While working on bug326502 I noticed that the resolver implementation would automatically flush all removal pending descriptions no matter what array was passed to State.resolve(BundleDescription[]).  At runtime this behavior can be quite unexpected if an operator is trying to delay a refresh of the system until an appropriate time.  Aggressively flushing the removal pending descriptions takes any control that the operator may have had to control down time of the system.  I think that PDE should keep track of all descriptions it not only adds but also passes to State.updateBundle and call State.resolve(BundleDescritpion[]) with all descriptions that have been modified or added to the state.
Comment 2 Thomas Watson CLA 2010-10-05 08:27:09 EDT
(In reply to comment #1)
> While working on bug326502 ...

The correct bug is bug326011
Comment 3 Curtis Windatt CLA 2011-06-16 12:56:11 EDT
*** Bug 182951 has been marked as a duplicate of this bug. ***
Comment 4 Eclipse Genie CLA 2018-12-06 12:44:22 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 5 Dani Megert CLA 2018-12-10 10:48:34 EST
Please reopen if this still needs to be considered.