bug(trainer): list_jobs omits runtime when no filter is provided
- Dominant language
- Python
- Stars
- 148
- Forks
- 262
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
### What happened?
After a local job is registered, calling LocalProcessBackend.list_jobs() without a runtime filter creates each returned TrainJob with runtime set to None. The stored LocalBackendJobs entry retains the correct runtime, but list_jobs passes its optional filter argument into the result instead of the runtime stored with the job.
A focused reproduction registers a local job, calls list_jobs() with no arguments, and compares the returned job runtime with the registered runtime. The comparison fails because the returned value is None.
### What did you expect to happen?
Each returned TrainJob should contain the runtime registered with that job, regardless of whether list_jobs() is called with a runtime filter.
### Environment
Current upstream main at commit 3febcd7377d0cdb322bbb420207c3c26cbf7afd7.
No Kubernetes cluster is involved because this affects the LocalProcessBackend.
Contributor guide
Research direction
Start at LocalProcessBackend.list_jobs and trace how each returned TrainJob gets its runtime from the stored LocalBackendJobs entry versus the optional filter argument. Use the focused local-job reproduction described in the issue, and consider the work done when list_jobs() without a runtime filter returns each job's registered runtime while filtered calls remain correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, machine-learning
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100