You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2017/06/09 13:56:20 UTC
svn commit: r1798222 - in
/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor:
AsyncHealthCheckExecutor.java HealthCheckExecutorImpl.java
Author: bdelacretaz
Date: Fri Jun 9 13:56:20 2017
New Revision: 1798222
URL: http://svn.apache.org/viewvc?rev=1798222&view=rev
Log:
SLING-6855 - sticky results were not cached for async HCs
Modified:
sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/AsyncHealthCheckExecutor.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/AsyncHealthCheckExecutor.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/AsyncHealthCheckExecutor.java?rev=1798222&r1=1798221&r2=1798222&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/AsyncHealthCheckExecutor.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/AsyncHealthCheckExecutor.java Fri Jun 9 13:56:20 2017
@@ -167,7 +167,8 @@ public class AsyncHealthCheckExecutor im
}
- void collectAsyncResults(List<HealthCheckMetadata> healthCheckDescriptors, Collection<HealthCheckExecutionResult> results) {
+ /** Called by the main Executor to get results from async HCs */
+ void collectAsyncResults(List<HealthCheckMetadata> healthCheckDescriptors, Collection<HealthCheckExecutionResult> results, HealthCheckResultCache cache) {
Iterator<HealthCheckMetadata> checksIt = healthCheckDescriptors.iterator();
Set<ExecutionResult> asyncResults = new TreeSet<ExecutionResult>();
@@ -187,6 +188,12 @@ public class AsyncHealthCheckExecutor im
checksIt.remove();
}
}
+
+ LOG.debug("Caching {} results from async results", asyncResults.size());
+ for(ExecutionResult result : asyncResults) {
+ cache.updateWith(result);
+ }
+
LOG.debug("Adding {} results from async results", asyncResults.size());
results.addAll(asyncResults);
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=1798222&r1=1798221&r2=1798222&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 Fri Jun 9 13:56:20 2017
@@ -256,7 +256,7 @@ public class HealthCheckExecutorImpl imp
// get async results
if (!options.isForceInstantExecution()) {
- asyncHealthCheckExecutor.collectAsyncResults(healthCheckDescriptors, results);
+ asyncHealthCheckExecutor.collectAsyncResults(healthCheckDescriptors, results, healthCheckResultCache);
}
// reuse cached results where possible