Commit e8d8e6a
committed
[SPARK-55971][UI] Add Jobs table to SQL execution detail page
### 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)
2. **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.
Closes #54768 from yaooqinn/SPARK-55971.
Authored-by: Kent Yao <kentyao@microsoft.com>
Signed-off-by: Kent Yao <kentyao@microsoft.com>1 parent e7bbd32 commit e8d8e6a
File tree
2 files changed
+97
-25
lines changed- core/src/main/scala/org/apache/spark/ui
- sql/core/src/main/scala/org/apache/spark/sql/execution/ui
2 files changed
+97
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
494 | 494 | | |
495 | 495 | | |
496 | 496 | | |
497 | | - | |
498 | | - | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
499 | 502 | | |
500 | 503 | | |
501 | 504 | | |
502 | 505 | | |
503 | 506 | | |
504 | 507 | | |
505 | 508 | | |
506 | | - | |
| 509 | + | |
507 | 510 | | |
508 | 511 | | |
509 | 512 | | |
510 | 513 | | |
511 | 514 | | |
512 | | - | |
| 515 | + | |
513 | 516 | | |
514 | 517 | | |
515 | 518 | | |
| |||
Lines changed: 90 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | 27 | | |
29 | 28 | | |
30 | 29 | | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | 51 | | |
69 | 52 | | |
70 | 53 | | |
| |||
107 | 90 | | |
108 | 91 | | |
109 | 92 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | 93 | | |
114 | 94 | | |
115 | 95 | | |
| |||
130 | 110 | | |
131 | 111 | | |
132 | 112 | | |
| 113 | + | |
133 | 114 | | |
134 | 115 | | |
135 | 116 | | |
| |||
225 | 206 | | |
226 | 207 | | |
227 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
228 | 297 | | |
229 | 298 | | |
230 | 299 | | |
| |||
0 commit comments