This is an automated email from the ASF dual-hosted git repository.
RosiKyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new a8200cfc26a improved errorlog message by adding null check (#13263)
a8200cfc26a is described below
commit a8200cfc26a2cc46f9e67963161aaf40bb01947f
Author: Saurabh Kushwaha <[email protected]>
AuthorDate: Thu Nov 12 18:45:24 2026 +0530
improved errorlog message by adding null check (#13263)
* improved errorlog message by adding null check
* ui: centralize importVMTask null guard in task manager and add warning
logs
B
* Fix debug log placeholder argument mapping in ImportVmTasksManagerImpl
---
.../cloudstack/vm/ImportVmTasksManagerImpl.java | 43 +++++++++++++++-------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git
a/server/src/main/java/org/apache/cloudstack/vm/ImportVmTasksManagerImpl.java
b/server/src/main/java/org/apache/cloudstack/vm/ImportVmTasksManagerImpl.java
index 7294ec051ea..b0631173114 100644
---
a/server/src/main/java/org/apache/cloudstack/vm/ImportVmTasksManagerImpl.java
+++
b/server/src/main/java/org/apache/cloudstack/vm/ImportVmTasksManagerImpl.java
@@ -80,7 +80,8 @@ public class ImportVmTasksManagerImpl implements
ImportVmTasksManager {
Long pageSizeVal = cmd.getPageSizeVal();
ImportVmTask.TaskState state =
getStateFromFilter(cmd.getTasksFilter());
- Pair<List<ImportVMTaskVO>, Integer> result =
importVMTaskDao.listImportVMTasks(zoneId, accountId, vcenter, convertHostId,
state, startIndex, pageSizeVal);
+ Pair<List<ImportVMTaskVO>, Integer> result =
importVMTaskDao.listImportVMTasks(zoneId, accountId, vcenter,
+ convertHostId, state, startIndex, pageSizeVal);
List<ImportVMTaskVO> tasks = result.first();
List<ImportVMTaskResponse> responses = new ArrayList<>();
@@ -99,15 +100,17 @@ public class ImportVmTasksManagerImpl implements
ImportVmTasksManager {
try {
return ImportVmTask.TaskState.getValue(tasksFilter);
} catch (IllegalArgumentException e) {
- throw new ServerApiException(ApiErrorCode.PARAM_ERROR,
String.format("Invalid value for task state: %s", tasksFilter));
+ throw new ServerApiException(ApiErrorCode.PARAM_ERROR,
+ String.format("Invalid value for task state: %s",
tasksFilter));
}
}
@Override
- public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account
owner, long userId, String displayName, String vcenter, String datacenterName,
String sourceVMName, Host convertHost, Host importHost) {
+ public ImportVmTask createImportVMTaskRecord(DataCenter zone, Account
owner, long userId, String displayName,
+ String vcenter, String datacenterName, String sourceVMName, Host
convertHost, Host importHost) {
logger.debug("Creating import VM task entry for VM: {} for account {}
on zone {} " +
- "from the vCenter: {} / datacenter: {} / source VM:
{}",
- sourceVMName, owner.getAccountName(), zone.getName(),
displayName, vcenter, datacenterName);
+ "from the vCenter: {} / datacenter: {} / source VM: {}",
+ displayName, owner.getAccountName(), zone.getName(), vcenter,
datacenterName, sourceVMName);
ImportVMTaskVO importVMTaskVO = new ImportVMTaskVO(zone.getId(),
owner.getAccountId(), userId, displayName,
vcenter, datacenterName, sourceVMName, convertHost.getId(),
importHost.getId());
importVMTaskVO.setState(ImportVmTask.TaskState.Running);
@@ -115,21 +118,26 @@ public class ImportVmTasksManagerImpl implements
ImportVmTasksManager {
}
private String getStepDescription(ImportVMTaskVO importVMTaskVO, Host
convertHost, Host importHost,
- ImportVMTaskVO.Step step, Date
updatedDate) {
+ ImportVMTaskVO.Step step, Date updatedDate) {
String sourceVMName = importVMTaskVO.getSourceVMName();
String vcenter = importVMTaskVO.getVcenter();
String datacenter = importVMTaskVO.getDatacenter();
StringBuilder stringBuilder = new StringBuilder();
if (Completed == step) {
- stringBuilder.append("Completed at
").append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"),
updatedDate));
+ stringBuilder.append("Completed at ")
+
.append(DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"),
updatedDate));
} else {
if (CloningInstance == step) {
- stringBuilder.append(String.format("Cloning source instance:
%s on vCenter: %s / datacenter: %s", sourceVMName, vcenter, datacenter));
+ stringBuilder.append(String.format("Cloning source instance:
%s on vCenter: %s / datacenter: %s",
+ sourceVMName, vcenter, datacenter));
} else if (ConvertingInstance == step) {
- stringBuilder.append(String.format("Converting the cloned
VMware instance to a KVM instance on the host: %s", convertHost.getName()));
+ stringBuilder
+ .append(String.format("Converting the cloned VMware
instance to a KVM instance on the host: %s",
+ convertHost.getName()));
} else if (Importing == step) {
- stringBuilder.append(String.format("Importing the converted
KVM instance on the host: %s", importHost.getName()));
+ stringBuilder.append(
+ String.format("Importing the converted KVM instance on
the host: %s", importHost.getName()));
} else if (Prepare == step) {
stringBuilder.append("Preparing to convert Vmware instance");
}
@@ -139,12 +147,13 @@ public class ImportVmTasksManagerImpl implements
ImportVmTasksManager {
@Override
public void updateImportVMTaskStep(ImportVmTask importVMTask, DataCenter
zone, Account owner, Host convertHost,
- Host importHost, Long vmId,
ImportVmTask.Step step) {
+ Host importHost, Long vmId, ImportVmTask.Step step) {
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;
logger.debug("Updating import VM task entry for VM: {} for account {}
on zone {} " +
- "from the vCenter: {} / datacenter: {} / source VM: {}
to step: {}",
- importVMTaskVO.getSourceVMName(), owner.getAccountName(),
zone.getName(), importVMTaskVO.getDisplayName(),
- importVMTaskVO.getVcenter(), importVMTaskVO.getDatacenter(),
step);
+ "from the vCenter: {} / datacenter: {} / source VM: {} to
step: {}",
+ importVMTaskVO.getDisplayName(), owner.getAccountName(),
zone.getName(),
+ importVMTaskVO.getVcenter(), importVMTaskVO.getDatacenter(),
+ importVMTaskVO.getSourceVMName(), step);
Date updatedDate = DateUtil.now();
String description = getStepDescription(importVMTaskVO, convertHost,
importHost, step, updatedDate);
importVMTaskVO.setStep(step);
@@ -161,6 +170,12 @@ public class ImportVmTasksManagerImpl implements
ImportVmTasksManager {
@Override
public void updateImportVMTaskErrorState(ImportVmTask importVMTask,
ImportVmTask.TaskState state, String errorMsg) {
+ if (importVMTask == null) {
+ logger.warn(
+ "Skipping import VM task error state update because
importVMTask is null; state: {}, errorMsg: {}",
+ state, errorMsg);
+ return;
+ }
ImportVMTaskVO importVMTaskVO = (ImportVMTaskVO) importVMTask;
Date updatedDate = DateUtil.now();
importVMTaskVO.setUpdated(updatedDate);