Repository: stratos Updated Branches: refs/heads/master aa4d9d773 -> 9ec061f44
Adding try catch block to MonitorAdder.run() method to cover its full scope Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/9ec061f4 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/9ec061f4 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/9ec061f4 Branch: refs/heads/master Commit: 9ec061f44a3189ccd8b509ef4da980687dfbcf62 Parents: aa4d9d7 Author: Imesh Gunaratne <[email protected]> Authored: Fri May 1 10:38:13 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Fri May 1 10:38:31 2015 +0530 ---------------------------------------------------------------------- .../component/ParentComponentMonitor.java | 107 ++++++++++--------- 1 file changed, 56 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/9ec061f4/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java index d5831ba..ce3159f 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java @@ -826,62 +826,67 @@ public abstract class ParentComponentMonitor extends Monitor implements Runnable } public void run() { - long startTime = System.currentTimeMillis(); - long endTime = startTime; - int retries = 5; - Monitor monitor = null; - boolean success = false; - while (!success && retries != 0) { - - startTime = System.currentTimeMillis(); - if (log.isInfoEnabled()) { - log.info(String.format("Starting monitor: [type] %s [component] %s", - monitorTypeStr, context.getId())); - } + try { + long startTime = System.currentTimeMillis(); + long endTime = startTime; + int retries = 5; + Monitor monitor = null; + boolean success = false; + while (!success && retries != 0) { + + startTime = System.currentTimeMillis(); + if (log.isInfoEnabled()) { + log.info(String.format("Starting monitor: [type] %s [component] %s", + monitorTypeStr, context.getId())); + } - try { - monitor = MonitorFactory.getMonitor(parent, context, appId, parentInstanceIds); - } catch (DependencyBuilderException e) { - String msg = String.format("Monitor creation failed: [type] %s [component] %s", - monitorTypeStr, context.getId()); - log.warn(msg, e); - retries--; - } catch (TopologyInConsistentException e) { - String msg = String.format("Monitor creation failed: [type] %s [component] %s", - monitorTypeStr, context.getId()); - log.warn(msg, e); - retries--; - } catch (PolicyValidationException e) { - String msg = String.format("Monitor creation failed: [type] %s [component] %s", - monitorTypeStr, context.getId()); - log.warn(msg, e); - retries--; - } catch (PartitionValidationException e) { - String msg = String.format("Monitor creation failed: [type] %s [component] %s", - monitorTypeStr, context.getId()); - log.warn(msg, e); - retries--; + try { + monitor = MonitorFactory.getMonitor(parent, context, appId, parentInstanceIds); + } catch (DependencyBuilderException e) { + String msg = String.format("Monitor creation failed: [type] %s [component] %s", + monitorTypeStr, context.getId()); + log.warn(msg, e); + retries--; + } catch (TopologyInConsistentException e) { + String msg = String.format("Monitor creation failed: [type] %s [component] %s", + monitorTypeStr, context.getId()); + log.warn(msg, e); + retries--; + } catch (PolicyValidationException e) { + String msg = String.format("Monitor creation failed: [type] %s [component] %s", + monitorTypeStr, context.getId()); + log.warn(msg, e); + retries--; + } catch (PartitionValidationException e) { + String msg = String.format("Monitor creation failed: [type] %s [component] %s", + monitorTypeStr, context.getId()); + log.warn(msg, e); + retries--; + } + success = true; + endTime = System.currentTimeMillis(); } - success = true; - endTime = System.currentTimeMillis(); - } - if (monitor == null) { - String msg = String.format("Monitor creation failed even after retrying for 5 times: " - + "[type] %s [component] ", monitorTypeStr, context.getId()); - log.error(msg); - //TODO parent.notify(); - throw new RuntimeException(msg); - } + if (monitor == null) { + String msg = String.format("Monitor creation failed even after retrying for 5 times: " + + "[type] %s [component] ", monitorTypeStr, context.getId()); + log.error(msg); + //TODO parent.notify(); + throw new RuntimeException(msg); + } - aliasToActiveMonitorsMap.put(context.getId(), monitor); - pendingMonitorsList.remove(context.getId()); + aliasToActiveMonitorsMap.put(context.getId(), monitor); + pendingMonitorsList.remove(context.getId()); - if (log.isInfoEnabled()) { - long startupTime = (endTime - startTime) / 1000; - log.info(String.format("Monitor started successfully: [type] %s [component] %s [dependents] %s " + - "[startup-time] %d seconds", monitorTypeStr, context.getId(), - getIdList(context.getApplicationChildContextList()), startupTime)); + if (log.isInfoEnabled()) { + long startupTime = (endTime - startTime) / 1000; + log.info(String.format("Monitor started successfully: [type] %s [component] %s [dependents] %s " + + "[startup-time] %d seconds", monitorTypeStr, context.getId(), + getIdList(context.getApplicationChildContextList()), startupTime)); + } + } catch (Exception e) { + log.error(String.format("An error occurred while starting monitor: [type] %s [component] %s", + monitorTypeStr, context.getId()), e); } }
