Concurrent execution, potential bug #1921
Replies: 3 comments 9 replies
-
Thanks for the report and detailed analysis! It indeed seems wrong that the Would you like to offer a PR against the 3.x branch, one option is to add |
Beta Was this translation helpful? Give feedback.
-
@lahma Good sir, can you tell me when to expect new 3.x release with fixes for concurrency? |
Beta Was this translation helpful? Give feedback.
-
@lahma Hello again 😊 I guess I've found another bug in concurrency implementation, when it's configured with code, not with attribute. Previously, before my changes in My fix with correct materialization helped... Almost. Now, if I run two instances of my app, synchronisation between jobs work only after first execution. I'll explain via example:
Also, here are logs collected from Quartz — without attribute. I've tried to pinpoint the source of such behaviour, but was not successful, maybe you can help me find this bug. I will try to prepare repro project with SqlServer in docker tomorrow. |
Beta Was this translation helpful? Give feedback.
-
Hello!
I've tried to setup Quartz with cluster configuration with two instances of my app running on separate machines/k8s-pods. And I need to run periodical job, but only in one instance. So I've used a code like this:
But when I run two instances of my app, I have jobs executing simultaneously on both machines. But when I mark my
TestQuartzJob
-class withDisallowConcurrentExecutionAttribute
everything start working as expected — jobs run in non-cocurrent mode, only single instance of a job per time.I think I found a cause for this behavior — here in StdAdoDelegate.Jobs.cs we materialize
JobDetail
without readingIS_NONCONCURRENT
from DB and without configuring JobBuilder with concucrrency disallowed flag.Beta Was this translation helpful? Give feedback.
All reactions