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

Bug 326541

Summary: Plan Verifier results not checked in reconciler
Product: [Eclipse Project] Equinox Reporter: DJ Houghton <dj.houghton>
Component: p2Assignee: DJ Houghton <dj.houghton>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.6.1   
Target Milestone: 3.6.2   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description DJ Houghton CLA 2010-09-29 10:06:27 EDT
In bug 312254 we released some changes to include a plan verifier which gives products the ability to veto a provisioning plan coming from the reconciler or old update manager code. This is handy in the case (for instance) where a random third-party bundle put in the drop-ins is taken precedence and actually causes the uninstallation of a product.

In bug 270195 we released some changes and refactoring to prepare to handle the case (in 3.7 - bug 313795) where we have some IUs installed via the UI which depend on IUs in the drop-ins, and then the user deletes the bundles from the drop-ins. 

During this refactoring, the code in the ProfileSyncrhonizer which checks the plan status (for potential cancelation by the plan verifier) was accidentally removed. This needs to be added back in the 3.6.x stream.
Comment 1 DJ Houghton CLA 2010-09-29 10:15:40 EDT
Fixed in R3_6_maintenance branch.
Comment 2 DJ Houghton CLA 2010-10-27 13:50:46 EDT
Made a modification to the code to be more in line with code elsewhere, and we only fail if there is an error reported.

Old code:
if (!result.getStatus().isOK())
	return result.getStatus();

New code:
if (plan.getStatus().getSeverity() == IStatus.ERROR)
	return plan.getStatus();