CDV ❯ Roots recoveryLock and schedulers in QuartzSchedulerThread are not getting clustered when tim-quartz is used with Tomcat
-
Bug
-
Status: Open
-
2 Major
-
Resolution:
-
DSO:L1
-
-
siyer
-
Reporter: hgupta
-
March 19, 2009
-
4
-
Watchers: 5
-
December 01, 2009
-
Attachments
Description
In tim-quartz, QuartzSchedulerThreadTC extends QuartzSchedulerThread and is merged at runtime with QuartzSchedulerThread. This class is having recoveryLock and schedulers as two roots, defined in terracotta.xml.
Running the sample app attached with this JIRA, in a standalone mode (using ant, default target being run), we can see 12 roots in admin console and everything works fine. When the same app is run on a tomcat server, only 10 roots related to RAMJobStore are available on admin console and recoveryLock and schedulers are not visible (not shared atall).
The sample also exhibits a warning like : [java] 2009-03-19 18:45:32,525 WARN - The root expression ‘org.quartz.core.QuartzSchedulerThread.recoveryLock’ meant for the class ‘org.quartz.core.QuartzSchedulerThread’ has no effect, make sure that it is a valid expression and that it is spelled correctly. [java] 2009-03-19 18:45:32,527 WARN - The root expression ‘org.quartz.core.QuartzSchedulerThread.schedulers’ meant for the class ‘org.quartz.core.QuartzSchedulerThread’ has no effect, make sure that it is a valid expression and that it is spelled correctly.
This warning appears in both the cases, and probably is because QuartzSchedulerThread class is evaluated for roots before the roots are actually dynamically added during the run-time when the tim-quartz is loaded by tc. This warning could be ignored for now and has no real effect on the issue.
The JIRA was reported on forum at following link : http://forums.terracotta.org/forums/posts/list/1922.page#11545
Comments
Himanshu Gupta 2009-03-24
Joshua Bloom 2009-04-24
I am seeing the same errors in Jetty. After:
[java] 2009-03-19 18:45:32,525 WARN - The root expression ‘org.quartz.core.QuartzSchedulerThread.recoveryLock’ meant for the class ‘org.quartz.core.QuartzSchedulerThread’ has no effect, make sure that it is a valid expression and that it is spelled correctly. [java] 2009-03-19 18:45:32,527 WARN - The root expression ‘org.quartz.core.QuartzSchedulerThread.schedulers’ meant for the class ‘org.quartz.core.QuartzSchedulerThread’ has no effect, make sure that it is a valid expression and that it is spelled correctly.
The application spins and never comes up (nor does it crash).
Fiona OShea 2009-04-27
This is being resurrected on the forums again.
Joshua Bloom 2009-06-11
We have still not been able to get around this issue.
Fiona OShea 2009-06-11
Lets discuss at DRB tomorrow.
Fiona OShea 2009-06-12
Can your team work with the guy on forums to fix this?
To Clarify a bit further,
The tim-quartz works perfectly with the sample when it is run as a standalone application. However when the same application is run with Tomcat, the stated roots are not visible in admin console (and hence not clustered). This results in quartz not getting clustered.
As far as my understanding goes this has something to do during the instrumentation of QuartzThreadScheduler class when it is loaded using tomcat. The problem is at L1 end and not at tim-quartz level. I can work with some L1 engineer to resolve this issue.