[
https://issues.apache.org/jira/browse/SLING-5284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14996864#comment-14996864
]
Stefan Egli edited comment on SLING-5284 at 11/9/15 5:34 PM:
-------------------------------------------------------------
implemented in rev 1713477 and rev 1713480 (version upping of discovery.base to
1.1.0) and 1713484 (version upping of discovery.oak to 1.1.0)
was (Author: egli):
implemented in rev 1713477 and rev 1713480 (version upping of discovery.base to
1.1.0)
> 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)