History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QUARTZ-106
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: James House
Reporter: Julien Dumetier
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Quartz Scheduler

RAMJobStore Trigger deletion infinite loop in acquireNextTrigger

Created: 04/Jan/05 11:15 AM   Updated: 05/Feb/05 02:44 PM
Component/s: Job Stores
Affects Version/s: 1.4.3
Fix Version/s: 1.4.4

Environment: Quartz 1.4.3


 Description  « Hide
The problem occurs in the RAMJobStore on acquireNextTrigger() method. (I'm using org.quartz.SimpleTrigger)
the variable "timeTriggers" contains the "TriggerWrapper"(s). Those triggers have been put in the TreeSet "timeTriggers" when they were not executed yet. The treeSet use the compareTo(Object o) method from the org.quartz.Trigger object to sort the triggers. The method is based on the Date given by the getNextFireTime()
method.

The issue:
The method acquireNextTrigger() calls the method first() on timeTriggers, it give back a TriggerWrapper then the method remove is called, but if the trigger has executed the remove method will never find the TriggerWrapper in the TreeSet because the compareTo won't answer the same response.

If you need more info please tell me.


 All   Comments   Change History      Sort Order:
Julien Dumetier - [05/Jan/05 03:31 AM ]
This issue occurs in version 1.4.3 but not in version 1.4.2.
Hope this help !

James House - [20/Jan/05 10:24 PM ]
Are you able to readily reproduce this? I could use some assistance testing the possible fix.

If you are, please e-mail me from an address that I can mail a development build to. THanks.

James House - [20/Jan/05 10:29 PM ]
I (think) this is resolved, though I don't have a good test case.

Julien Dumetier - [24/Jan/05 02:48 AM ]
Thank you James, sorry for the late answer i was on holidays. You can email me a test version at http://cerbermail.com/?eqDkwfHnFO

I wish i could test it until end january.