You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/01/15 14:16:37 UTC

svn commit: r1558372 - in /sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor: ExecutionResult.java HealthCheckExecutorImpl.java

Author: cziegeler
Date: Wed Jan 15 13:16:37 2014
New Revision: 1558372

URL: http://svn.apache.org/r1558372
Log:
SLING-3278 : Provide a HealthCheckExecutor service. Apply patch from Georg Henzler  

Modified:
    sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/ExecutionResult.java
    sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java

Modified: sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/ExecutionResult.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/ExecutionResult.java?rev=1558372&r1=1558371&r2=1558372&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/ExecutionResult.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/ExecutionResult.java Wed Jan 15 13:16:37 2014
@@ -64,22 +64,13 @@ public class ExecutionResult implements 
     }
 
     /**
-     * Shortcut constructor to create error result.
-     */
-    ExecutionResult(final HealthCheckMetadata metadata,
-            final Result.Status status,
-            final String errorMessage) {
-        this(metadata, new Result(status, errorMessage), 0L, false);
-    }
-
-    /**
      * Shortcut constructor to create error/timed out result.
      */
     ExecutionResult(final HealthCheckMetadata metadata,
             final Result.Status status,
             final String errorMessage,
-            final long elapsedTime) {
-        this(metadata, new Result(status, errorMessage), elapsedTime, true);
+            final long elapsedTime, boolean timedOut) {
+        this(metadata, new Result(status, errorMessage), elapsedTime, timedOut);
     }
 
 

Modified: sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java?rev=1558372&r1=1558371&r2=1558372&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java Wed Jan 15 13:16:37 2014
@@ -367,8 +367,9 @@ public class HealthCheckExecutorImpl imp
                 result = future.get();
             } catch (Exception e) {
                 logger.warn("Unexpected Exception during future.get(): " + e, e);
+                long futureElapsedTimeMs = new Date().getTime() - future.getCreatedTime().getTime();
                 result = new ExecutionResult(future.getHealthCheckMetadata(), Result.Status.HEALTH_CHECK_ERROR,
-                        "Unexpected Exception during future.get(): " + e);
+                        "Unexpected Exception during future.get(): " + e, futureElapsedTimeMs, false);
             }
 
             // if the future came from a previous call remove it from stillRunningFutures
@@ -388,13 +389,13 @@ public class HealthCheckExecutorImpl imp
             long futureElapsedTimeMs = new Date().getTime() - future.getCreatedTime().getTime();
             if (futureElapsedTimeMs < this.longRunningFutureThresholdForRedMs) {
                 result = new ExecutionResult(future.getHealthCheckMetadata(), Result.Status.WARN,
-                        "Timeout: Check still running after " + msHumanReadable(futureElapsedTimeMs), futureElapsedTimeMs);
+                        "Timeout: Check still running after " + msHumanReadable(futureElapsedTimeMs), futureElapsedTimeMs, true);
 
             } else {
                 result = new ExecutionResult(future.getHealthCheckMetadata(), Result.Status.CRITICAL,
                         "Timeout: Check still running after " + msHumanReadable(futureElapsedTimeMs)
                                 + " (exceeding the configured threshold for CRITICAL: "
-                                + msHumanReadable(this.longRunningFutureThresholdForRedMs) + ")", futureElapsedTimeMs);
+                                + msHumanReadable(this.longRunningFutureThresholdForRedMs) + ")", futureElapsedTimeMs, true);
             }
         }
         return result;