[ https://issues.apache.org/jira/browse/SLING-5387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15986326#comment-15986326 ]
Carsten Ziegeler commented on SLING-5387: ----------------------------------------- I'm not sure if we need to go there. These jobs are scheduled. So if job A is currently running on an instance, and while it is running the topology changes, then job A will not be immediately scheduled on a different instance. First of all, the distribution algorithm must calculate a different result than previously which might or might not be the case. But more important, these jobs are scheduled. So usually, the schedule is defined in a way that the next run of A is after the previous run of A is finished. And if the schedule is in such a way that there are multiple jobs of A potentially running in parallel, then I think we're fine as well. Of course, there is the slight chance that the topology changes exactly at the point of an activation of a schedule and then the job runs in parallel. But I think this chance is pretty low. > Provide support for running singleton jobs on non leader cluster nodes also > --------------------------------------------------------------------------- > > Key: SLING-5387 > URL: https://issues.apache.org/jira/browse/SLING-5387 > Project: Sling > Issue Type: Improvement > Components: Commons > Reporter: Chetan Mehrotra > Assignee: Carsten Ziegeler > Fix For: Commons Scheduler 2.5.4 > > > With SLING-2979 support for running singleton jobs on specific instance was > provided. In most cases we want to run a job as singleton and not want to > "pin" it to specific nodes. For this {{scheduler.runOn}} needs to be set to > {{SINGLE}}. > However per [current > implementation|https://github.com/apache/sling/blob/org.apache.sling.commons.scheduler-2.4.14/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzJobExecutor.java#L64] > {{SINGLE}} is treated as {{LEADER}}. This effectively causes *all singleton* > jobs to get executed on leader only thus putting extra load. > For better utilization of cluster resources it should be possible to > distribute such singleton jobs on other cluster nodes and still ensure that > singleton contract is honoured! > We would like to make use of this feature to ensure Oak AsyncIndexTask to run > on different cluster nodes (OAK-2749) -- This message was sent by Atlassian JIRA (v6.3.15#6346)