From 35628b2c6e91708b5ee7c1e8593bbbae4ead9c99 Mon Sep 17 00:00:00 2001 From: lzh3636 Date: Sat, 7 Apr 2018 14:09:19 -0400 Subject: [PATCH 1/8] Add stack traces information --- .../simulator/src/main/java/com/cloud/ha/SimulatorFencer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/hypervisors/simulator/src/main/java/com/cloud/ha/SimulatorFencer.java b/plugins/hypervisors/simulator/src/main/java/com/cloud/ha/SimulatorFencer.java index 86c28715e0b7..c776edfde353 100644 --- a/plugins/hypervisors/simulator/src/main/java/com/cloud/ha/SimulatorFencer.java +++ b/plugins/hypervisors/simulator/src/main/java/com/cloud/ha/SimulatorFencer.java @@ -90,12 +90,12 @@ public Boolean fenceOff(VirtualMachine vm, Host host) { answer = (FenceAnswer)_agentMgr.send(h.getId(), fence); } catch (AgentUnavailableException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } catch (OperationTimedoutException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } From 6975337ac3846b6478d173784c5db7f63fa5f897 Mon Sep 17 00:00:00 2001 From: lzh3636 Date: Sat, 7 Apr 2018 14:16:04 -0400 Subject: [PATCH 2/8] update stack trace info --- .../api/command/user/firewall/CreatePortForwardingRuleCmd.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java index ea0cb00301a0..d4ea9a515a3f 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java @@ -358,7 +358,7 @@ public void create() { setEntityId(result.getId()); setEntityUuid(result.getUuid()); } catch (NetworkRuleConflictException ex) { - s_logger.info("Network rule conflict: ", ex); + s_logger.info("Network rule conflict: " + ex.getMessage()); s_logger.trace("Network Rule Conflict: ", ex); throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } From 22f5a74cf927eaf19b150eca8c4ac8bfa144d6bb Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Sat, 7 Apr 2018 14:40:33 -0400 Subject: [PATCH 3/8] update stack trace to make them consistent --- .../api/command/user/firewall/CreateFirewallRuleCmd.java | 2 +- .../api/command/user/firewall/CreatePortForwardingRuleCmd.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java index fab7d9eef29a..83b45583671e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java @@ -254,7 +254,7 @@ public void create() { setEntityUuid(result.getUuid()); } } catch (NetworkRuleConflictException ex) { - s_logger.info("Network rule conflict: " + ex.getMessage()); + s_logger.info("Network rule conflict: ", ex); s_logger.trace("Network Rule Conflict: ", ex); throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java index d4ea9a515a3f..ea0cb00301a0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java @@ -358,7 +358,7 @@ public void create() { setEntityId(result.getId()); setEntityUuid(result.getUuid()); } catch (NetworkRuleConflictException ex) { - s_logger.info("Network rule conflict: " + ex.getMessage()); + s_logger.info("Network rule conflict: ", ex); s_logger.trace("Network Rule Conflict: ", ex); throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } From e31d42495f1f8a77f1bbfa34bfecbad8f2d98ea9 Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Sat, 7 Apr 2018 14:57:15 -0400 Subject: [PATCH 4/8] update stack traces --- .../api/command/user/firewall/CreateFirewallRuleCmd.java | 3 +-- .../api/command/user/firewall/CreatePortForwardingRuleCmd.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java index 83b45583671e..d522eb26ea80 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java @@ -254,9 +254,8 @@ public void create() { setEntityUuid(result.getUuid()); } } catch (NetworkRuleConflictException ex) { - s_logger.info("Network rule conflict: ", ex); s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex); } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java index ea0cb00301a0..a6422124ed78 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java @@ -358,9 +358,8 @@ public void create() { setEntityId(result.getId()); setEntityUuid(result.getUuid()); } catch (NetworkRuleConflictException ex) { - s_logger.info("Network rule conflict: ", ex); s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex); } } From d19db0c8e16c8137e315289afbf0e5e1493b41f1 Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Sat, 7 Apr 2018 16:01:28 -0400 Subject: [PATCH 5/8] update stacktraces --- .../api/command/user/firewall/CreateFirewallRuleCmd.java | 2 +- .../api/command/user/firewall/CreatePortForwardingRuleCmd.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java index d522eb26ea80..d6a64e067a89 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java @@ -255,7 +255,7 @@ public void create() { } } catch (NetworkRuleConflictException ex) { s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java index a6422124ed78..dd1579b91d16 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java @@ -359,7 +359,7 @@ public void create() { setEntityUuid(result.getUuid()); } catch (NetworkRuleConflictException ex) { s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); } } From f5f476ad1b1e7a8ca17543c6e72914ae91caaef8 Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Wed, 11 Apr 2018 10:38:44 -0400 Subject: [PATCH 6/8] update stacktraces for other similar situations --- .../ovm/src/main/java/com/cloud/ovm/hypervisor/OvmFencer.java | 4 ++-- .../xenserver/src/main/java/com/cloud/ha/XenServerFencer.java | 4 ++-- server/src/main/java/com/cloud/ha/KVMFencer.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/hypervisors/ovm/src/main/java/com/cloud/ovm/hypervisor/OvmFencer.java b/plugins/hypervisors/ovm/src/main/java/com/cloud/ovm/hypervisor/OvmFencer.java index e671a364da67..6a247d914398 100644 --- a/plugins/hypervisors/ovm/src/main/java/com/cloud/ovm/hypervisor/OvmFencer.java +++ b/plugins/hypervisors/ovm/src/main/java/com/cloud/ovm/hypervisor/OvmFencer.java @@ -94,12 +94,12 @@ public Boolean fenceOff(VirtualMachine vm, Host host) { answer = (FenceAnswer)_agentMgr.send(h.getId(), fence); } catch (AgentUnavailableException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } catch (OperationTimedoutException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/ha/XenServerFencer.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/ha/XenServerFencer.java index af89a0ada665..72ec375fa271 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/ha/XenServerFencer.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/ha/XenServerFencer.java @@ -77,12 +77,12 @@ public Boolean fenceOff(VirtualMachine vm, Host host) { answer = (FenceAnswer)ans; } catch (AgentUnavailableException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } catch (OperationTimedoutException e) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.debug("Moving on to the next host because " + h.toString() + " is unavailable", e); } continue; } diff --git a/server/src/main/java/com/cloud/ha/KVMFencer.java b/server/src/main/java/com/cloud/ha/KVMFencer.java index 3f06872b56f1..e102bc273ac9 100644 --- a/server/src/main/java/com/cloud/ha/KVMFencer.java +++ b/server/src/main/java/com/cloud/ha/KVMFencer.java @@ -99,10 +99,10 @@ public Boolean fenceOff(VirtualMachine vm, Host host) { try { answer = (FenceAnswer)_agentMgr.send(h.getId(), fence); } catch (AgentUnavailableException e) { - s_logger.info("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.info("Moving on to the next host because " + h.toString() + " is unavailable", e); continue; } catch (OperationTimedoutException e) { - s_logger.info("Moving on to the next host because " + h.toString() + " is unavailable"); + s_logger.info("Moving on to the next host because " + h.toString() + " is unavailable", e); continue; } if (answer != null && answer.getResult()) { From 140d6f8f3e1df9ef3995f58b44ec92e4cdd0be63 Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Thu, 12 Apr 2018 10:18:41 -0400 Subject: [PATCH 7/8] fix some other situations --- .../api/command/user/firewall/CreateFirewallRuleCmd.java | 2 +- .../command/user/firewall/CreatePortForwardingRuleCmd.java | 2 +- .../org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java | 4 ++-- .../hypervisor/xenserver/resource/CitrixResourceBase.java | 4 ++-- .../main/java/com/cloud/server/ConfigurationServerImpl.java | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java index d6a64e067a89..02c425553d8e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmd.java @@ -255,7 +255,7 @@ public void create() { } } catch (NetworkRuleConflictException ex) { s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage(), ex); } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java index dd1579b91d16..ff11395ee372 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/firewall/CreatePortForwardingRuleCmd.java @@ -359,7 +359,7 @@ public void create() { setEntityUuid(result.getUuid()); } catch (NetworkRuleConflictException ex) { s_logger.trace("Network Rule Conflict: ", ex); - throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage()); + throw new ServerApiException(ApiErrorCode.NETWORK_RULE_CONFLICT_ERROR, ex.getMessage(), ex); } } diff --git a/plugins/event-bus/rabbitmq/src/main/java/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java b/plugins/event-bus/rabbitmq/src/main/java/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java index 0b0b0839e704..b2f173e27c96 100644 --- a/plugins/event-bus/rabbitmq/src/main/java/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java +++ b/plugins/event-bus/rabbitmq/src/main/java/org/apache/cloudstack/mom/rabbitmq/RabbitMQEventBus.java @@ -237,9 +237,9 @@ public void handleDelivery(String queueName, Envelope envelope, AMQP.BasicProper s_subscribers.put(queueName, queueDetails); } catch (AlreadyClosedException closedException) { - s_logger.warn("Connection to AMQP service is lost. Subscription:" + queueName + " will be active after reconnection"); + s_logger.warn("Connection to AMQP service is lost. Subscription:" + queueName + " will be active after reconnection", closedException); } catch (ConnectException connectException) { - s_logger.warn("Connection to AMQP service is lost. Subscription:" + queueName + " will be active after reconnection"); + s_logger.warn("Connection to AMQP service is lost. Subscription:" + queueName + " will be active after reconnection", connectException); } catch (Exception e) { throw new EventBusException("Failed to subscribe to event due to " + e.getMessage()); } diff --git a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java index 19670b2066e5..fed3ff97ca57 100644 --- a/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java +++ b/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java @@ -5037,14 +5037,14 @@ public void startVM(final Connection conn, final Host host, final VM vm, final S checkForSuccess(conn, task); } catch (final Types.HandleInvalid e) { if (vm.getPowerState(conn) == VmPowerState.RUNNING) { - s_logger.debug("VM " + vmName + " is in Running status"); + s_logger.debug("VM " + vmName + " is in Running status", e); task = null; return; } throw new CloudRuntimeException("Start VM " + vmName + " catch HandleInvalid and VM is not in RUNNING state"); } catch (final TimeoutException e) { if (vm.getPowerState(conn) == VmPowerState.RUNNING) { - s_logger.debug("VM " + vmName + " is in Running status"); + s_logger.debug("VM " + vmName + " is in Running status", e); task = null; return; } diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index 197ebed3e698..b970111f9eff 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -715,10 +715,10 @@ private void writeKeyToDisk(String key, String keyPath) { kStream.write(key.getBytes()); } } catch (FileNotFoundException e) { - s_logger.warn("Failed to write key to " + keyfile.getAbsolutePath()); + s_logger.warn("Failed to write key to " + keyfile.getAbsolutePath(), e); throw new CloudRuntimeException("Failed to update keypairs on disk: cannot find key file " + keyPath); } catch (IOException e) { - s_logger.warn("Failed to write key to " + keyfile.getAbsolutePath()); + s_logger.warn("Failed to write key to " + keyfile.getAbsolutePath(), e); throw new CloudRuntimeException("Failed to update keypairs on disk: cannot write to key file " + keyPath); } } From 6329ec8331b58954cab211e7c177e2664d319ffe Mon Sep 17 00:00:00 2001 From: zhenhaoli Date: Fri, 13 Apr 2018 09:51:25 -0400 Subject: [PATCH 8/8] enhance other situations --- .../schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java | 2 +- .../hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java b/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java index 626b8ccf2bef..f54db8dcd297 100644 --- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java @@ -91,7 +91,7 @@ public void deleteRecordsForAccount(Long accountId) { txn.commit(); } catch (Exception ex) { txn.rollback(); - s_logger.error("error retrieving usage vm instances for account id: " + accountId); + s_logger.error("error retrieving usage vm instances for account id: " + accountId, ex); } finally { txn.close(); } diff --git a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java index 222286f91655..774efc84b3ae 100644 --- a/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java +++ b/plugins/hypervisors/hyperv/src/main/java/com/cloud/ha/HypervInvestigator.java @@ -68,7 +68,7 @@ public Status isAgentAlive(Host agent) { return answer.getResult() ? Status.Down : Status.Up; } } catch (Exception e) { - s_logger.debug("Failed to send command to host: " + neighbor.getId()); + s_logger.debug("Failed to send command to host: " + neighbor.getId(), e); } }