[ 
https://issues.apache.org/jira/browse/SLING-5284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Egli resolved SLING-5284.
--------------------------------
    Resolution: Fixed

implemented in rev 1713477

> use dedicate thread instead of scheduler
> ----------------------------------------
>
>                 Key: SLING-5284
>                 URL: https://issues.apache.org/jira/browse/SLING-5284
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: Discovery Impl 1.2.0, Discovery Oak 1.0.2, Discovery 
> Base 1.0.2
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>             Fix For: Discovery Impl 1.2.2, Discovery Base 1.1.0, Discovery 
> Oak 1.0.4
>
>
> Currently discovery (base/oak/impl) use the sling scheduler for scheduling 
> the background jobs that periodically issue heartbeats, ping the topology 
> connectors and check if the view is current. It's very important that these 
> jobs run at the exact defined periods - delays of a few minutes can break 
> their usefullness and in the end cause an instability in the topology. Sling 
> scheduler uses a thread-pool which is by definition limited. And if, for some 
> reason, this pool is busy doing other stuff, then the job is not executed for 
> a certain amount of time. Consider the situation when all the jobs are busy 
> with other things (non discovery stuff) when discovery wants to store a 
> heartbeat or monitor the view - that's then not possible and gets delayed. If 
> the delay is big enough to let the heartbeats time out (or changes to get 
> unnoticed), then the topology can break.
> Thus to avoid this, instead of relying on the size-bound-scheduler, use a 
> dedicated thread for these high priority tasks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to