Skip to content
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

CalendarIntervalSchedule is firing non-stop for 10 mins on the day that DST begins (and we lose an hour). #2349

Open
mwithum-paylocity opened this issue Apr 30, 2024 · 0 comments

Comments

@mwithum-paylocity
Copy link

mwithum-paylocity commented Apr 30, 2024

Describe the bug

CalendarIntervalSchedule is firing non-stop for 10 mins on the day that DST begins (and we lose an hour).

Version used

3.3.2

To Reproduce

Consider a Calendar Interval Schedule that:

  • Runs every other Sunday at 2:01 AM Central
  • Starts on 2/25/2024 2:01 AM
  • And lines up to run at 2:01 AM on 3/10/2024
  • but that is the day that the clock rolls forward, so 2:01 AM doesn't exist
  • Quartz will (on the previous fire in 2/25/2024) correctly set the next fire time to 3/10/2024 3:00 AM -- the earliest time that exists after it was "supposed to fire"

So far all seems correct. However, when 3/10/2024 3:00 AM comes around - the trigger fires non-stop for 10 mins exactly. It is almost like the next fire time never calculates a good time after 3/10/2024 3:00 AM. We had one trigger fire > 30k times.

I can repro this in the TriggerUtils.ComputeFireTimes method as well. I've attached an annotated sample where TriggerUtils.ComputeFireTimes is doing exactly what I am seeing when Quartz do - it gets stuck on 3/10/2024 3:00 AM.

QuartzDstRepro.zip

Expected behavior

The trigger should only fire once and the TriggerUtils.ComputeFireTimes should calculate the proper next fire time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant