[ https://issues.apache.org/jira/browse/SLING-4460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler closed SLING-4460. ----------------------------------- > QuartzScheduler component is registered resulting in sling jobs not being > sent to job consumer > ---------------------------------------------------------------------------------------------- > > Key: SLING-4460 > URL: https://issues.apache.org/jira/browse/SLING-4460 > Project: Sling > Issue Type: Bug > Components: Commons > Affects Versions: Commons Scheduler 2.4.4 > Environment: 3.3.4-11.omtr.el6.x86_64 GNU/Linux, java version > "1.7.0_60" > Reporter: Ken Russell > Assignee: Carsten Ziegeler > Fix For: Commons Scheduler 2.4.6 > > Attachments: QuartzSchedulerComponent.pdf > > > Sling jobs were not being processed on an instance due to the QuartzScheduler > component being in a registered state (see attached image for the component’s > state). The Sling job processor was not sending the job to our job consumer. > From our error logs we could see that the job was created but the job > consumer never received it. Looking at the crx we could see the job under > /var/eventing. Our bundles & components were all active (we explicitly > checked the component that consumes the job). > Occasionally we see this problem on a restart of a production instance. This > is an instance on our QA environment (we are hoping they are the same but > will continue to monitor on subsequent production deployments). > We noticed in the log file lots of exceptions related to QuartzScheduler > indicating that the “Scheduler is not available anymore.” Truncated exception: > {CODE} > 26.02.2015 22:05:16.904 *WARN* [<redacted> [1424988304541] POST > /system/console/bundles/342 HTTP/1.1] > org.apache.sling.discovery.impl.DiscoveryServiceImpl sendTopologyEvent: > handler threw exception. handler: > org.apache.sling.event.impl.jobs.config.JobManagerConfiguration@651e2ff3, > exception: java.lang.IllegalStateException: Scheduler is not available > anymore. java.lang.IllegalStateException: Scheduler is not available anymore. > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.SchedulerServiceFactory.schedule(SchedulerServiceFactory.java:56) > at > org.apache.sling.event.impl.jobs.config.JobManagerConfiguration.startProcessing(JobManagerConfiguration.java:500) > at > org.apache.sling.event.impl.jobs.config.JobManagerConfiguration.handleTopologyEvent(JobManagerConfiguration.java:551) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.sendTopologyEvent(DiscoveryServiceImpl.java:192) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.handlePotentialTopologyChange(DiscoveryServiceImpl.java:484) > at > org.apache.sling.discovery.impl.DiscoveryServiceImpl.bindPropertyProviderInteral(DiscoveryServiceImpl.java:272) > {CODE} > From grepping the error log we saw that the QuartzScheduler has been shutdown > previously: > {CODE} > > cat error.log.2015-02-25 error.log | grep QuartzScheduler > 25.02.2015 19:16:31.246 *INFO* [OsgiInstallerImpl] > org.quartz.core.QuartzScheduler Scheduler > ApacheSling_$_Tue_Feb_24_10:52:11_UTC_2015 shutting down. > 25.02.2015 19:16:31.246 *INFO* [OsgiInstallerImpl] > org.quartz.core.QuartzScheduler Scheduler > ApacheSling_$_Tue_Feb_24_10:52:11_UTC_2015 paused. > 25.02.2015 19:16:31.251 *INFO* [OsgiInstallerImpl] > org.quartz.core.QuartzScheduler Scheduler > ApacheSling_$_Tue_Feb_24_10:52:11_UTC_2015 shutdown complete. > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:578) > at > org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:634) > {CODE} > Stop-Starting the QuartzScheduler resulted in all the jobs being processed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)