[ https://issues.apache.org/jira/browse/CLOUDSTACK-10315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhenhao Li updated CLOUDSTACK-10315: ------------------------------------ Attachment: image-2018-03-26-17-45-44-489.png > Inconsistent debugging info in catch block > ------------------------------------------ > > Key: CLOUDSTACK-10315 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10315 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Reporter: Zhenhao Li > Priority: Minor > Labels: easyfix > Attachments: image-2018-03-05-09-59-19-369.png, > image-2018-03-05-10-14-00-552.png, image-2018-03-05-10-14-25-802.png, > image-2018-03-26-17-45-44-489.png > > > We found that some logging statements have same log message, but one of them > has stack trace info, the other one of them doesn't have. Maybe a possible > reason is that they are code clone, developers changed one of them(add stack > trace info) but forgot to change the other one. Here's the details of those > logging statements we found: > > 1.*"Moving on to the next host because " + h.toString() + " is unavailable"*, > _com.cloud.hypervisor.ovm3.resources.Ovm3FenceBuilder.*fenceOff()*,_ > _com.cloud.ha.*SimulatorFencer()*_, > There are two identical log messages in these two places, the latter one > logged stack trace but the previous one did not. > !image-2018-03-05-09-59-19-369.png! > We can see that they are in different type of catch block, but when checking > the logs they generated, maybe it's impossible to know the difference of them > without stack trace. So maybe the stack traces info should also be added here? > > 2.*"Network rule Conflict"* > _org.apache.cloudstack.api.command.user.firewall.CreatePortForwardingRuleCmd.*create()*,_ > _org.apache.cloudstack.api.command.user.firewall.CreateFirewallRuleCmd.*create()*_ > > The previous one has these two logging statements: > s_logger.info("Network rule conflict: ", ex); > s_logger.trace("Network Rule Conflict: ", ex); > > Comparing to the latter one which contains: > s_logger.info("Network rule conflict: " + ex.getMessage()); > s_logger.trace("Network Rule Conflict: ", ex); > Maybe it's better to have consistent exception handling here? > > 3.*"Failed to take snapshot: "* > _org.apache.cloudstack.storage.snapshot.SnapshotServiceImpl.*takeSnapshot()*,_ > _org.apache.cloudstack.storage.datastore.driver.ElastistorPrimaryDataStoreDriver.*takeSnapshot()*_ > The previous one has catch block: > !image-2018-03-05-10-14-00-552.png! > and the latter one: > !image-2018-03-05-10-14-25-802.png! > We can see that the code snippers are almost the same except the logging > statements. > Will it be better to change the latter one, to be consistent with the > previous one? > -- This message was sent by Atlassian JIRA (v7.6.3#76005)