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;