Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1509 closed enhancement (fixed)

Job queue order after restarting a job

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 2.16
Component: core Version:
Keywords: Cc:

Description

The job queue is ordering jobs based on their creation date+time. This leads to a shortcut for some jobs to get first in the queue after a restart. A job may be restarted for example after a failure or after a dry-run. Since the creation date can't be modified I think we should add a new column (scheduled date) that is used for the queue order and that is updated to the current time after a restart.

A particular loophole was introduced by #1503. Consider a job queue that allows only one executing job at a time and a malicious plug-in that always respond with setContinue(). This will cause the same job to be added first in the queue, blocking all other jobs from ever being executed.

Change History (5)

comment:1 Changed 12 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 Changed 12 years ago by Nicklas Nordborg

(In [5406]) References #1509: Job queue order after restarting a job

Added a 'scheduled' property to jobs that is used to order the job queue.

comment:3 Changed 12 years ago by Nicklas Nordborg

(In [5407]) References #1509, #1503 and #1502. Updated documentation related to the mentioned tickets.

comment:4 Changed 12 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

comment:5 Changed 12 years ago by Nicklas Nordborg

(In [5414]) References #1509: Job queue order after restarting a job

Fixes a potential NullPointerException?. 16 test programs failed since they don't use the signaling system.

Note: See TracTickets for help on using tickets.