From 6737fccd22db817d44115cd2603b6d1defee2ee4 Mon Sep 17 00:00:00 2001 From: Christian Polizzi <241194481+cp1362@users.noreply.github.com> Date: Wed, 10 Jun 2026 14:17:43 -0500 Subject: [PATCH] Fix Primitve Array Logging * API Server for unhandled exception. * User data. * Snapshot clean up. * Host storage access groups. --- .../org/apache/cloudstack/userdata/UserDataManagerImpl.java | 2 +- .../cloud/hypervisor/kvm/resource/LibvirtComputingResource.java | 2 +- server/src/main/java/com/cloud/api/ApiServer.java | 2 +- server/src/main/java/com/cloud/storage/StorageManagerImpl.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/userdata/src/main/java/org/apache/cloudstack/userdata/UserDataManagerImpl.java b/engine/userdata/src/main/java/org/apache/cloudstack/userdata/UserDataManagerImpl.java index 7c5692564c99..a26ac028529a 100644 --- a/engine/userdata/src/main/java/org/apache/cloudstack/userdata/UserDataManagerImpl.java +++ b/engine/userdata/src/main/java/org/apache/cloudstack/userdata/UserDataManagerImpl.java @@ -154,7 +154,7 @@ private byte[] validateAndDecodeByHTTPMethod(String userData, int maxHTTPLength, throw new InvalidParameterValueException("User data is too short."); } - logger.trace(String.format("Decoded user data: [%s].", decodedUserData)); + logger.trace(String.format("Decoded user data: [%s].", new String(decodedUserData))); int userDataLength = userData.length(); int decodedUserDataLength = decodedUserData.length; logger.info(String.format("Configured base64 encoded user data size: %d bytes, actual user data size: %d bytes", userDataLength, decodedUserDataLength)); diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 0aa094e56d99..9a7115fb4da2 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -5788,7 +5788,7 @@ public List> cleanVMSnapshotMetadata(Domain dm) } for (String snapshotName: snapshotNames) { if (LOGGER.isDebugEnabled()) { - LOGGER.debug(String.format("Cleaning snapshot [%s] of VM [%s] metadata.", snapshotNames, dm.getName())); + LOGGER.debug(String.format("Cleaning snapshot [%s] of VM [%s] metadata.", snapshotName, dm.getName())); } DomainSnapshot snapshot = dm.snapshotLookupByName(snapshotName); snapshot.delete(flags); // clean metadata of vm snapshot diff --git a/server/src/main/java/com/cloud/api/ApiServer.java b/server/src/main/java/com/cloud/api/ApiServer.java index c78ac05102f8..4cd14ee7bf33 100644 --- a/server/src/main/java/com/cloud/api/ApiServer.java +++ b/server/src/main/java/com/cloud/api/ApiServer.java @@ -718,7 +718,7 @@ public String handleRequest(final Map params, final String responseType, final S logger.info(ex.getDescription()); throw ex; } catch (final Exception ex) { - logger.error("unhandled exception executing api command: " + ((command == null) ? "null" : command), ex); + logger.error("unhandled exception executing api command: " + ((command == null || command.length == 0) ? "null" : command[0]), ex); String errorMsg = ex.getMessage(); if (!accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) { // hide internal details to non-admin user for security reason diff --git a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java index df0283ae2d61..06c3ab3bcfbc 100644 --- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java @@ -2887,7 +2887,7 @@ public boolean checkIfHostAndStoragePoolHasCommonStorageAccessGroups(Host host, } if (ArrayUtils.isNotEmpty(hostStorageAccessGroups)) { - logger.debug(String.format("Storage access groups on the host %s are %s", host, hostStorageAccessGroups)); + logger.debug(String.format("Storage access groups on the host %s are %s", host, Arrays.toString(hostStorageAccessGroups))); } if (CollectionUtils.isNotEmpty(storagePoolAccessGroups)) {