[ 
https://issues.apache.org/jira/browse/SLING-3278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13854799#comment-13854799
 ] 

Georg Henzler commented on SLING-3278:
--------------------------------------

Find another patch attached that uses a bundle-private ExecutionResult. Changes 
to the existing API are really minimal now (the biggest change having an 
interface HealthCheckResult, but I think that's good). Other than that the from 
a HealthCheck implementor's point of view, nothing has changed as the Result is 
still the class to construct and return. 

Oher than that i left 
org.apache.sling.hc.api.HealthCheckExecutor.run(ServiceReference) with the 
service reference for now as I believe it's still the cleanest way. Having had 
a closer look both name/class-name can not be used as they are not unique for 
factory components like ScriptableHealthCheck (only the service PID would be 
unique, and that's certainly something that is OSGi specific itself and a 
service reference would be needed on client side to retrieve it).



> Provide a HealthCheckExecutor service
> -------------------------------------
>
>                 Key: SLING-3278
>                 URL: https://issues.apache.org/jira/browse/SLING-3278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Health Check
>            Reporter: Georg Henzler
>            Assignee: Georg Henzler
>         Attachments: SLING-3278-bertrand.patch, 
> SLING-3278-hc.core-HealthCheckExecutorService-2013-12-19.patch, 
> SLING-3278-hc.core-HealthCheckExecutorService-2013-12-21-withExecutorResult.patch,
>  SLING-3278-hc.webconsole-2013-12-19.patch, 
> SLING-3278-hc.webconsole-2013-12-21.patch, hc-it.patch
>
>
> Goals:
> * Be able to get an overall (aggregated) result as quickly as possible 
> (ideally <2sec)
> * Whenever possible, return most current results (e.g. for a memory check)
> * Provide a declarative way for async checks (async checks should be the 
> exception though) 
> Approach
> * Run checks in parallel
> * Make sure long running (or even stuck) checks are timed out
> * If a health check must run asynchronously (because its execution time 
> cannot be optimized), it should be enough to just specify a service property 
> (e.g. "hc.async").
> See also
> http://apache-sling.73963.n3.nabble.com/Health-Check-Improvements-td4029330.html#a4029402
> http://apache-sling.73963.n3.nabble.com/Health-checks-execution-service-td4028477.html



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to