pass InsufficientCapacityException across job boundary since some HA logic relies on it. Reviewed-By: Self

This commit is contained in:
Kelven Yang 2014-02-19 17:41:23 -08:00
parent 537bf7ced1
commit 7c7bd0934a
1 changed files with 4 additions and 2 deletions

View File

@ -750,8 +750,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
}
@Override
public void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy, DeploymentPlanner planner) throws InsufficientCapacityException,
ConcurrentOperationException, ResourceUnavailableException {
public void advanceStart(String vmUuid, Map<VirtualMachineProfile.Param, Object> params, DeploymentPlan planToDeploy, DeploymentPlanner planner)
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException {
AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext();
if (!VmJobEnabled.value() || jobContext.isJobDispatchedBy(VmWorkConstants.VM_WORK_JOB_DISPATCHER)) {
@ -784,6 +784,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
throw (ConcurrentOperationException)jobResult;
else if (jobResult instanceof ResourceUnavailableException)
throw (ResourceUnavailableException)jobResult;
else if (jobResult instanceof InsufficientCapacityException)
throw (InsufficientCapacityException)jobResult;
else if (jobResult instanceof RuntimeException)
throw (RuntimeException)jobResult;
else if (jobResult instanceof Throwable)