Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
In o.a.g.kernel.deployment.DeploymentPlan.canRun(), incorrect usage of the short-circuit AND operator means that if a previous task reported that it could not run, subsequent tasks will not be queried.
This is the opposite to the indened behaviour which is documented in the code comment "always check each task, so the task can throw an exception if the task can never run".
The patch file is a trivial change from:
canRun = canRun && task.canRun()
to:
canRun = task.canRun() && canRun
The patch was generated by running "cvs diff -uN" from the project root directory (incubator-geronimo).
Also included in the patch and attached zip file is the testcase which brought this problem to light.
Similarly, this zip file was created from the project root (incubator-geronimo).
Note: module affected is the kernel. Assigned to component 'core' due to lack of 'kernel' component. Please shuffle as necessary.