Skip to content

[SPARK-55971][UI] Add Jobs table to SQL execution detail page#54768

Closed
yaooqinn wants to merge 5 commits intoapache:masterfrom
yaooqinn:SPARK-55971
Closed

[SPARK-55971][UI] Add Jobs table to SQL execution detail page#54768
yaooqinn wants to merge 5 commits intoapache:masterfrom
yaooqinn:SPARK-55971

Conversation

@yaooqinn
Copy link
Copy Markdown
Member

@yaooqinn yaooqinn commented Mar 12, 2026

What changes were proposed in this pull request?

  1. Jobs table on SQL execution page — Replaces the old comma-separated job ID links with a full "Associated Jobs" table on the SQL execution detail page.
Column Description
Job ID Link to job detail page
Description Stage name and description (via ApiHelper.lastStageNameAndDescription)
Submitted Submission time (sortable by epoch)
Duration Human-readable duration (sortable by millis)
Stages: Succeeded/Total Completed/total with failed/skipped counts
Tasks: Succeeded/Total Progress bar with task counts

Features:

  • Collapsible section using BS5 Collapse (consistent with Plan Details, SQL Properties)
  • Expanded by default, shows job count in header
  • Sortable columns via sorttable.js (Stages/Tasks excluded with sorttable_nosort)
  • Responsive table wrapper for small screens
  • Gracefully handles missing jobs (NoSuchElementException catch)
  1. Concise progress bar labels — The makeProgressBar visible label now shows (N killed) instead of the full kill reason with stack trace. The truncated reason (120 chars) is kept in the tooltip for hover inspection. This applies globally across Jobs, Stages, and SQL execution pages.

Why are the changes needed?

Previously jobs were shown as comma-separated ID links (e.g., "Running Jobs: 0 1 2") in the summary section, providing no context about job status, duration, or progress. The table shows all relevant information at a glance, matching the Jobs page style.

The progress bar kill reason text could be extremely long (full stack traces), making the bar unreadable.

Does this PR introduce any user-facing change?

Yes:

  • New "Associated Jobs (N)" collapsible table on the SQL execution detail page
  • Progress bar labels across all pages now show concise (N killed) instead of full error text

How was this patch tested?

Compilation verified. Manual testing with succeeded, failed, and killed-task jobs.

Was this patch authored or co-authored using generative AI tooling?

Yes, co-authored with GitHub Copilot.

@yaooqinn yaooqinn marked this pull request as draft March 12, 2026 13:54
Adds a collapsible 'Associated Jobs' table below Plan Details on the SQL
execution detail page showing: Job ID (link), Status (badge), Duration,
Stages (completed/total), Tasks (completed/total), and Description.

Previously jobs were only shown as comma-separated ID links in the summary.

Co-authored-by: Copilot <[email protected]>
yaooqinn and others added 4 commits March 12, 2026 23:00
- Use ApiHelper.lastStageNameAndDescription for description
- Reverse sort order (newest job first) to match Jobs page
- Add job detail link with stage name

Co-authored-by: Copilot <[email protected]>
The visible progress label now shows just '(N killed)' instead of the
full kill reason with stack trace. The full reason (truncated to 120
chars) is kept in the tooltip title for hover inspection.

Co-authored-by: Copilot <[email protected]>
Add 'sortable' class to enable client-side column sorting via the
existing sorttable.js library. Duration and Submitted columns use
sorttable_customkey for correct numeric ordering. Stages and Tasks
columns are marked sorttable_nosort since progress bars are not
meaningfully sortable.

Co-authored-by: Copilot <[email protected]>
- Catch only NoSuchElementException instead of all Exception
- Wrap table in table-responsive div for small screens
- Remove extra blank line left from jobLinks removal

Co-authored-by: Copilot <[email protected]>
@yaooqinn yaooqinn changed the title [SPARK-55971][UI] Add Jobs table section to SQL execution detail page [SPARK-55971][UI] Add Jobs table to SQL execution detail page Mar 12, 2026
@yaooqinn yaooqinn marked this pull request as ready for review March 12, 2026 16:50
@yaooqinn
Copy link
Copy Markdown
Member Author

Screenshots

Succeeded execution — Associated Jobs table (Exec 0):
exec0-jobs-table

Failed execution with killed tasks — progress bar shows concise label (Exec 1):
exec1-failed-jobs

Full execution page showing table placement below Plan Details:
exec0-full-page

Jobs page for style comparison:
jobs-page-compare

@yaooqinn yaooqinn closed this in e8d8e6a Mar 13, 2026
@yaooqinn yaooqinn deleted the SPARK-55971 branch March 13, 2026 12:59
@yaooqinn
Copy link
Copy Markdown
Member Author

Thank you @dongjoon-hyun @sarutak, merged to master

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.

3 participants