You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by "Brian Foster (JIRA)" <ji...@apache.org> on 2010/12/10 23:35:01 UTC
[jira] Created: (OODT-79) LRUScheduler removes a job from the
JobQueue, but adds it back if can't schedule it, which (in the JobStack
impl) causes JobRepo to create duplicate copies of the same JobSpec with
different JobIds
LRUScheduler removes a job from the JobQueue, but adds it back if can't schedule it, which (in the JobStack impl) causes JobRepo to create duplicate copies of the same JobSpec with different JobIds
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: OODT-79
URL: https://issues.apache.org/jira/browse/OODT-79
Project: OODT
Issue Type: Bug
Components: resource manager
Affects Versions: 0.1-incubating
Environment: none
Reporter: Brian Foster
Assignee: Brian Foster
Priority: Minor
Fix For: 0.2
In LRUScheduler:
public void run() { .... exec = myJobQueue.getNextJob(); .... (on failure) myJobQueue.addJob(spec); }
In myJobQueue.getNextJob() (where myJobQueue is instanceof JobStack) the JobSpec is deleted and in myJobQueue.addJob(spec) repo.addJob(JobSpec) is called as shown:
public String addJob(JobSpec spec) throws JobQueueException { String jobId = safeAddJob(spec); .... }
private String safeAddJob(JobSpec spec) { .... return this.repo.addJob(spec); .... }
- Point being: JobStack's addJob(JobSpec) should not be called by LRUScheduler when adding a job back to the JobStack because the jobspec is already stored in JobRepository and everytime addJob(JobSpec) is called the JobSpec is given a new JobId
- Patch will introduce a new method to JobQueue called: requeueJob(JobSpec) which will add the JobSpec to the back of the JobQueue and update the JobRepo.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (OODT-79) LRUScheduler removes a job from the
JobQueue, but adds it back if can't schedule it, which (in the JobStack
impl) causes JobRepo to create duplicate copies of the same JobSpec with
different JobIds
Posted by "Brian Foster (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OODT-79?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Foster updated OODT-79:
-----------------------------
Attachment: OODT-79.2010-12-13.patch.txt
- attached patch
> LRUScheduler removes a job from the JobQueue, but adds it back if can't schedule it, which (in the JobStack impl) causes JobRepo to create duplicate copies of the same JobSpec with different JobIds
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OODT-79
> URL: https://issues.apache.org/jira/browse/OODT-79
> Project: OODT
> Issue Type: Bug
> Components: resource manager
> Affects Versions: 0.1-incubating
> Environment: none
> Reporter: Brian Foster
> Assignee: Brian Foster
> Priority: Minor
> Fix For: 0.2
>
> Attachments: OODT-79.2010-12-13.patch.txt
>
>
> In LRUScheduler:
> public void run() { .... exec = myJobQueue.getNextJob(); .... (on failure) myJobQueue.addJob(spec); }
> In myJobQueue.getNextJob() (where myJobQueue is instanceof JobStack) the JobSpec is deleted and in myJobQueue.addJob(spec) repo.addJob(JobSpec) is called as shown:
> public String addJob(JobSpec spec) throws JobQueueException { String jobId = safeAddJob(spec); .... }
> private String safeAddJob(JobSpec spec) { .... return this.repo.addJob(spec); .... }
> - Point being: JobStack's addJob(JobSpec) should not be called by LRUScheduler when adding a job back to the JobStack because the jobspec is already stored in JobRepository and everytime addJob(JobSpec) is called the JobSpec is given a new JobId
> - Patch will introduce a new method to JobQueue called: requeueJob(JobSpec) which will add the JobSpec to the back of the JobQueue and update the JobRepo.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (OODT-79) LRUScheduler removes a job from the
JobQueue, but adds it back if can't schedule it, which (in the JobStack
impl) causes JobRepo to create duplicate copies of the same JobSpec with
different JobIds
Posted by "Brian Foster (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OODT-79?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Foster resolved OODT-79.
------------------------------
Resolution: Fixed
- fixed in r1049294
> LRUScheduler removes a job from the JobQueue, but adds it back if can't schedule it, which (in the JobStack impl) causes JobRepo to create duplicate copies of the same JobSpec with different JobIds
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OODT-79
> URL: https://issues.apache.org/jira/browse/OODT-79
> Project: OODT
> Issue Type: Bug
> Components: resource manager
> Affects Versions: 0.1-incubating
> Environment: none
> Reporter: Brian Foster
> Assignee: Brian Foster
> Priority: Minor
> Fix For: 0.2
>
> Attachments: OODT-79.2010-12-13.patch.txt
>
>
> In LRUScheduler:
> public void run() { .... exec = myJobQueue.getNextJob(); .... (on failure) myJobQueue.addJob(spec); }
> In myJobQueue.getNextJob() (where myJobQueue is instanceof JobStack) the JobSpec is deleted and in myJobQueue.addJob(spec) repo.addJob(JobSpec) is called as shown:
> public String addJob(JobSpec spec) throws JobQueueException { String jobId = safeAddJob(spec); .... }
> private String safeAddJob(JobSpec spec) { .... return this.repo.addJob(spec); .... }
> - Point being: JobStack's addJob(JobSpec) should not be called by LRUScheduler when adding a job back to the JobStack because the jobspec is already stored in JobRepository and everytime addJob(JobSpec) is called the JobSpec is given a new JobId
> - Patch will introduce a new method to JobQueue called: requeueJob(JobSpec) which will add the JobSpec to the back of the JobQueue and update the JobRepo.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.