kubeflow / kubeflow/sdk

bug(trainer): list_jobs omits runtime when no filter is provided

Open Beginner friendly
#793 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.