Zhenhao Li created CLOUDSTACK-10315:
---------------------------------------
Summary: 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
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
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)