Issue Details (XML | Word | Printable)

Key: QUARTZ-717
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: James House
Reporter: James House
Votes: 0
Watchers: 0
Operations

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

Locking around acquireNextTrigger no longer necessary for JDBC JobStore

Created: 19/Nov/08 11:12 AM   Updated: 23/Nov/08 03:41 PM
Component/s: Job Stores
Affects Version/s: 1.6.2
Fix Version/s: 1.6.3


 Description  « Hide

With the threading and locking re-work that occurred with 1.6.1 and 1.6.2, the locking during acquireNextTrigger() is theoretically no longer necessary.

Investigate and provide improvement if possible.


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
James House added a comment - 23/Nov/08 03:41 PM
I have done extensive load testing over the last few days (against both PostgreSQL and Oracle 10) with the explicit lock removed, and have encountered no dead-locks or other issues as a side affect.

I am therefore going to commit the change, such that the performance improvement can be taken advantage of.

I added a new config property that can turn back on the explicit locking, for anyone who does happen to encounter an issue as a result of this change. The property is:

org.quartz.jobStore.acquireTriggersWithinLock

The default value is "false" - which means the explicit lock is not made, and performance is improved.