Skip to content

Consume recovery job state in the tracking UI#3

Open
mprahl wants to merge 4 commits into
jobs-schema-proto-apifrom
jobs-schema-frontend
Open

Consume recovery job state in the tracking UI#3
mprahl wants to merge 4 commits into
jobs-schema-proto-apifrom
jobs-schema-frontend

Conversation

@mprahl
Copy link
Copy Markdown
Owner

@mprahl mprahl commented Apr 13, 2026

🛠 DevTools 🛠

Open in GitHub Codespaces

Install mlflow from this PR

# mlflow
pip install git+https://github.com/mlflow/mlflow.git@refs/pull/3/merge
# mlflow-skinny
pip install git+https://github.com/mlflow/mlflow.git@refs/pull/3/merge#subdirectory=libs/skinny

For Databricks, use the following command:

%sh curl -LsSf https://raw.githubusercontent.com/mlflow/mlflow/HEAD/dev/install-skinny.sh | sh -s pull/3/merge

Related Issues/PRs

Recreates mlflow#22522
Relates to mlflow#22428
Relates to mlflow/rfcs#2
Blocked by #2

What changes are proposed in this pull request?

This PR splits the frontend consumer changes out of mlflow#22428 on top of mlflow#22521.

It updates the existing tracking job status hooks and scorer polling flows to treat NEEDS_RECOVERY as in-flight, plumb the new progress and error metadata from the backend contract, and prefer the dedicated error_message field for failure display. The final commit in this branch also renames the shared tracking hook's canceled enum spelling to match the API payloads.

How is this PR tested?

  • Existing unit/integration tests
  • New unit/integration tests

Test commands:

  • yarn test --watch=false src/experiment-tracking/components/run-page/hooks/useFetchJobStatus.test.tsx src/experiment-tracking/pages/experiment-scorers/useEvaluateTracesAsync.test.tsx src/experiment-tracking/components/run-page/overview/IssueDetectionProgress.test.tsx

Does this PR require documentation update?

  • No.

Does this PR require updating the MLflow Skills repository?

  • No.

Release Notes

Is this a user-facing change?

  • No.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server

How should the PR be classified in the release notes? Choose one:

  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section

Is this PR a critical bugfix or security fix that should go into the next patch release?

What is a minor/patch release?
  • Minor release: a release that increments the second part of the version number (e.g., 1.2.0 -> 1.3.0).
    Minor releases are expected to contain larger changes, such as new features and improvements. Non-critical bug fixes and doc updates can be included as well. By default, your PR should target the next minor release.
  • Patch release: a release that increments the third part of the version number (e.g., 1.2.0 -> 1.2.1).
    Patch releases are typically only performed when there has been a major regression or bug in the latest release. For the sake of stability, your PR should not be included in a patch release unless it is a critical fix, or if the risk level of your PR is exceedingly low.
  • This PR is critical and needs to be in the next patch release
  • This PR can wait for the next minor release

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
@mprahl mprahl force-pushed the jobs-schema-proto-api branch from 56ad96e to 0d00768 Compare April 13, 2026 15:56
Thread the persisted recovery fields through the job entities, protobufs, handlers, and backend tests so the server contract can land independently from the UI consumers. This keeps the recovery status and progress metadata reviewable as a wire-format and backend behavior change on top of the new schema.

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
@mprahl mprahl force-pushed the jobs-schema-proto-api branch from 0d00768 to fd0f109 Compare April 13, 2026 16:10
mprahl added 2 commits April 13, 2026 12:11
Teach the existing job-status hooks and scorer polling flows to understand NEEDS_RECOVERY, structured progress fields, and dedicated error messages once the backend contract is available. This keeps the main UI layer reviewable separately from the follow-up enum spelling fix.

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
Use the backend's CANCELED spelling in the shared tracking job hook so canceled-job checks line up with the actual AJAX response values.

Signed-off-by: mprahl <mprahl@users.noreply.github.com>
@mprahl mprahl force-pushed the jobs-schema-frontend branch from f757513 to 9f72110 Compare April 13, 2026 16:11
@mprahl mprahl force-pushed the jobs-schema-proto-api branch 4 times, most recently from f5e197e to 591d4be Compare April 16, 2026 13:28
@mprahl mprahl force-pushed the jobs-schema-proto-api branch 5 times, most recently from 37f44a1 to aed80e5 Compare April 23, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant