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

Key: QUARTZ-12
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: James House
Reporter: James House
Votes: 0
Watchers: 2
Operations

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

Acquire more trigger at a time

Created: 02/Jun/04 12:29 PM   Updated: 07/Jul/06 02:19 PM
Component/s: Core, Job Stores
Affects Version/s: 1.5
Fix Version/s: 1.x (not scheduled)

Issue Links:
Container
 
This issue is part of:
QUARTZ-13 Don't "acquire" next trigger until th... Major Closed
Related
This issue relates to:
QUARTZ-13 Don't "acquire" next trigger until th... Major Closed
This issue is related to:
QUARTZ-249 Priority scheduling Minor Closed

Flags: Important


 Description  « Hide
Hi, [Orignally posted by Steph Roots]

On a 2 cpu (3Mhz pentium 4) server, with short lived job, the QuartzScheduler Thread is not effective enough. It acquires trigger one by one, but i have 100 thread free in my ThreadPool.
It should acquires as many triggers as there are threads available in the thread pool, no ?

Do you plan to get it in the nexts releases ?

Steph

 All   Comments   Change History      Sort Order:
Eric Mueller - [19/Sep/05 05:33 AM ]
For clustered environments only a certain percentage of the available threads in the thread pool could be associated with triggers, so that the triggers can be distributed better amongst the nodes.

James House - [21/Jun/06 06:26 PM ]
Unfortunately we are deciding not to put this into the 1.6 release.

Jasper and I have wasted basically 4 calendar weeks (and written novels worth of emails) pondering how to make this work. It is far more difficult than it seems on the surface - particularly when complicated by the new prioritization of triggers feature.

In a nutshell, the goal of this enhancement was to improve performance of acquiring triggers, by reducing the number of queries in the case that more than one trigger is ready to fire. However, there is no way (that we have been able to discover) to implement this where it does not add an additional query to every trigger acquisition (even those most common times in which there is one (or zero) triggers ready to fire) -- so, the positive effects are basically more than negated, except in the less common case of there being many many of triggers ready to fire.

In light of this, and the fact it would add a lot of complexity to the code, we have decided to abandon the idea for now - though the basic idea of acquiring more than one trigger at a time is very appealing.


Jasper Rosenberg - [07/Jul/06 02:19 PM ]
Backed out placeholder methods to return more than one trigger at a time.