-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The jobs recovering (on scheduler startup) blocks simple trigger after failover situation for job which was executing during JVM crash #93
Comments
Seem to be suffering from the same issue (v. 2.2.1). Frequent-fired jobs appear in the blocked state after restarting the app (while the jobs are running) and the second restart "recovers" them. |
…rtup) blocks simple trigger after failover situation for job which was executing during JVM crash
+1 It is critical issue that block our project. |
👍 for resolving this issue ASAP. |
that bug is really annoying, please apply PR as soon as you can |
I have the same problem |
Our project have the same problem |
+1 |
+1 for issue resolution ASAP |
+1 |
+1 |
+1 |
+1 It's a critical issue for our project. |
+1 |
1 similar comment
+1 |
+1 Fix it please. |
Critical for our project too, please fix ASAP. |
+1 |
+1 (Causes unreliability issues in a productive environment.) |
@eugene-goroschenya thanks for raising the issue. I have the same problem in my project. Fixing it would be a true gift for Christmas. |
Pull request #94 was provided, awaiting review, merge and release |
@eugene-goroschenya thank you, please see comments on PR. |
+1 |
I have applied the PR to both quartz-2.2.x and master now. Thanks for everyone in helping out here! |
Hi @jhouserizer and @zemian Thanks for reviewing and merging PR quite fast. Any plans to release quartz-2.2.4 bugfix version? We are looking forward the official quartz version where this bug has been fixed. |
Dear @jhouserizer and @zemian, The issue causes problems with reliability in our software in production environments. |
…rtup) blocks simple trigger after failover situation for job which was executing during JVM crash (cherry picked from commit 1afb695)
http://www.quartz-scheduler.org/documentation/faq.html
But there is a problem with it in some cases.
Reproduced with Quartz 2.2.1 and 2.2.3 (didn't check other versions)
Prerequisites
JVM crashes during a job execution (or was stopped for maintenance during a job execution)
Downtime is much bigger than trigger's interval (e.g. > 2 minutes)
Important Quartz tables are TRIGGERS and FIRED_TRIGGERS and theirs states directly after JVM crashed are:
TRIGGERS table
FIRED_TRIGGERS table
The 1st scheduler start after system crashed (or stopped for maintenance)
Below are SQL statements for recoverJobs procedure on scheduler.start() and states of TRIGGERS and FIRED_TRIGGERS tables
TRIGGERS table
FIRED_TRIGGERS table
No rows
Problem
Job has repeat trigger but in BLOCKED state, trigger will not fired, job will not executed at least until JVM is not restarted again
The 2nd scheduler start (just for test purposes)
Below are SQL statements for recoverJobs procedure on scheduler.start() and states of TRIGGERS and FIRED_TRIGGERS tables
Result
Job with repeat trigger is executed according trigger definition
BUT BELIEVE it is NOT workaround to restart JVM twice to solve problem.
There can be another jobs/triggers in such situation in second restart.
Setting request recovery to true is not workaround either, in our case we definitely do not need recovery request but job must be executed according trigger interval after JVM restart
Perhaps workaround to use (before it is fixed in Quartz) is:
See pull request #94
The text was updated successfully, but these errors were encountered: