mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
CLOUDSTACK-5767: Remove the logic of using underlying job related fields for volume specific logic.
This commit is contained in:
parent
69f49839d3
commit
ad6454d2bf
@ -183,7 +183,7 @@ import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.EntityManager;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.TransactionCallbackNoReturn;
|
||||
import com.cloud.utils.db.TransactionCallback;
|
||||
import com.cloud.utils.db.TransactionCallbackWithException;
|
||||
import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
|
||||
import com.cloud.utils.db.TransactionLegacy;
|
||||
@ -4138,9 +4138,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
@ -4171,16 +4171,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)result[0],
|
||||
VirtualMachine.PowerState.PowerOn, vm.getId(), null);
|
||||
}
|
||||
|
||||
@ -4191,9 +4189,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
@ -4223,15 +4221,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)result[0],
|
||||
VirtualMachine.PowerState.PowerOff, vm.getId(), null);
|
||||
}
|
||||
|
||||
@ -4244,9 +4241,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
@ -4276,15 +4273,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0],
|
||||
vm.getId());
|
||||
}
|
||||
|
||||
@ -4295,10 +4291,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4326,15 +4321,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)result[0],
|
||||
VirtualMachine.PowerState.PowerOn, vm.getId(), vm.getPowerHostId());
|
||||
}
|
||||
|
||||
@ -4348,9 +4342,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
|
||||
@ -4381,15 +4375,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmStateSyncOutcome((VmWorkJobVO)result[0],
|
||||
VirtualMachine.PowerState.PowerOn, vm.getId(), destHostId);
|
||||
}
|
||||
|
||||
@ -4402,10 +4395,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4434,15 +4426,15 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
public Outcome<VirtualMachine> migrateVmStorageThroughJobQueue(
|
||||
@ -4454,10 +4446,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4486,15 +4477,15 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
public Outcome<VirtualMachine> addVmToNetworkThroughJobQueue(
|
||||
@ -4504,10 +4495,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
final User user = context.getCallingUser();
|
||||
final Account account = context.getCallingAccount();
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4536,15 +4526,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
public Outcome<VirtualMachine> removeNicFromVmThroughJobQueue(
|
||||
@ -4554,10 +4543,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
final User user = context.getCallingUser();
|
||||
final Account account = context.getCallingAccount();
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4586,15 +4574,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
public Outcome<VirtualMachine> removeVmFromNetworkThroughJobQueue(
|
||||
@ -4604,10 +4591,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
final User user = context.getCallingUser();
|
||||
final Account account = context.getCallingAccount();
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4636,15 +4622,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
public Outcome<VirtualMachine> reconfigureVmThroughJobQueue(
|
||||
@ -4656,10 +4641,9 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
final VMInstanceVO vm = _vmDao.findByUuid(vmUuid);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
_vmDao.lockRow(vm.getId(), true);
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
|
||||
List<VmWorkJobVO> pendingWorkJobs = _workJobDao.listPendingWorkJobs(
|
||||
VirtualMachine.Type.Instance, vm.getId(),
|
||||
@ -4688,12 +4672,14 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
}
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"), vm.getId());
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0], vm.getId());
|
||||
}
|
||||
|
||||
private Pair<JobInfo.Status, String> orchestrateStart(VmWorkStart work) throws Exception {
|
||||
|
||||
@ -28,7 +28,6 @@ import javax.inject.Inject;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.api.BaseCmd;
|
||||
import org.apache.cloudstack.api.command.user.volume.AttachVolumeCmd;
|
||||
import org.apache.cloudstack.api.command.user.volume.CreateVolumeCmd;
|
||||
import org.apache.cloudstack.api.command.user.volume.DetachVolumeCmd;
|
||||
@ -150,7 +149,6 @@ import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.EntityManager;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.TransactionCallback;
|
||||
import com.cloud.utils.db.TransactionCallbackNoReturn;
|
||||
import com.cloud.utils.db.TransactionStatus;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.fsm.NoTransitionException;
|
||||
@ -1282,7 +1280,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
}
|
||||
|
||||
_asyncMgr.updateAsyncJobAttachment(job.getId(), "volume", volumeId);
|
||||
_asyncMgr.updateAsyncJobStatus(job.getId(), BaseCmd.PROGRESS_INSTANCE_CREATED, Long.toString(volumeId));
|
||||
}
|
||||
|
||||
VolumeVO newVol = _volumeDao.findById(volumeOnPrimaryStorage.getId());
|
||||
@ -1403,7 +1400,6 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
}
|
||||
|
||||
_asyncMgr.updateAsyncJobAttachment(job.getId(), "volume", volumeId);
|
||||
_asyncMgr.updateAsyncJobStatus(job.getId(), BaseCmd.PROGRESS_INSTANCE_CREATED, volumeId.toString());
|
||||
}
|
||||
|
||||
AsyncJobExecutionContext jobContext = AsyncJobExecutionContext.getCurrentExecutionContext();
|
||||
@ -2135,9 +2131,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -2159,16 +2155,17 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
AsyncJobVO jobVo = _jobMgr.getAsyncJob(workJob.getId());
|
||||
s_logger.debug("New job " + workJob.getId() + ", result field: " + jobVo.getResult());
|
||||
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)result[0],
|
||||
volumeId);
|
||||
}
|
||||
|
||||
@ -2180,9 +2177,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -2203,16 +2200,14 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)result[0],
|
||||
volumeId);
|
||||
}
|
||||
|
||||
@ -2225,9 +2220,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -2249,16 +2244,14 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)result[0],
|
||||
volumeId);
|
||||
}
|
||||
|
||||
@ -2271,9 +2264,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -2295,16 +2288,14 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVolumeOutcome((VmWorkJobVO)result[0],
|
||||
volumeId);
|
||||
}
|
||||
|
||||
@ -2317,9 +2308,9 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -2342,16 +2333,14 @@ public class VolumeApiServiceImpl extends ManagerBase implements VolumeApiServic
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobSnapshotOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobSnapshotOutcome((VmWorkJobVO)result[0],
|
||||
snapshotId);
|
||||
}
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ import com.cloud.utils.db.Filter;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.TransactionCallbackNoReturn;
|
||||
import com.cloud.utils.db.TransactionCallback;
|
||||
import com.cloud.utils.db.TransactionStatus;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.vm.UserVmVO;
|
||||
@ -814,9 +814,9 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -838,16 +838,14 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)result[0],
|
||||
vmSnapshotId);
|
||||
}
|
||||
|
||||
@ -859,9 +857,9 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -883,16 +881,14 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)result[0],
|
||||
vmSnapshotId);
|
||||
}
|
||||
|
||||
@ -904,9 +900,9 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -928,16 +924,14 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVMSnapshotOutcome((VmWorkJobVO)result[0],
|
||||
vmSnapshotId);
|
||||
}
|
||||
|
||||
@ -949,9 +943,9 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
final VMInstanceVO vm = _vmInstanceDao.findById(vmId);
|
||||
|
||||
Transaction.execute(new TransactionCallbackNoReturn() {
|
||||
Object[] result = Transaction.execute(new TransactionCallback<Object[]>() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
public Object[] doInTransaction(TransactionStatus status) {
|
||||
VmWorkJobVO workJob = null;
|
||||
|
||||
_vmInstanceDao.lockRow(vm.getId(), true);
|
||||
@ -973,16 +967,14 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
|
||||
_jobMgr.submitAsyncJob(workJob, VmWorkConstants.VM_WORK_QUEUE, vm.getId());
|
||||
|
||||
// Transaction syntax sugar has a cost here
|
||||
context.putContextParameter("workJob", workJob);
|
||||
context.putContextParameter("jobId", new Long(workJob.getId()));
|
||||
return new Object[] {workJob, new Long(workJob.getId())};
|
||||
}
|
||||
});
|
||||
|
||||
final long jobId = (Long)context.getContextParameter("jobId");
|
||||
final long jobId = (Long)result[1];
|
||||
AsyncJobExecutionContext.getCurrentExecutionContext().joinJob(jobId);
|
||||
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)context.getContextParameter("workJob"),
|
||||
return new VmJobVirtualMachineOutcome((VmWorkJobVO)result[0],
|
||||
vmId);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user