yaooqinn opened a new pull request, #54671:
URL: https://github.com/apache/spark/pull/54671
### What changes were proposed in this pull request?
Replace the server-rendered PagedTable SQL listing with client-side
DataTables fetching from the REST API, following the same pattern as
SPARK-55837 (Environment page).
### Changes:
- **New file**: `sql-tab.js` - fetches from
`/api/v1/applications/{appId}/sql/` and renders a single DataTable with all
queries
- **Columns**: ID (link to detail), Status (BS5 badge), Description
(truncated with tooltip), Submitted, Duration (formatted), Job IDs (links)
- **Status filter**: dropdown above the table to filter by
RUNNING/COMPLETED/FAILED
- **Simplified `AllExecutionsPage.scala`**: minimal skeleton with loading
spinner, DataTables header, and script includes
- **Removed**: `ExecutionPagedTable`, `ExecutionDataSource`,
`ExecutionTableRowData` classes (server-side pagination no longer needed)
- **Updated tests**: adapted to verify the new skeleton page renders
correctly
### Why are the changes needed?
The server-side PagedTable approach requires full page reloads for
pagination, sorting, and filtering. The client-side DataTables approach
provides:
- Instant search/filter/sort without server round-trips
- Consistent UX with the Environment page (SPARK-55837)
- Simpler Scala code (50 lines vs 590 lines)
### Does this PR introduce _any_ user-facing change?
Yes - the SQL tab now uses client-side DataTables with a unified table
(instead of 3 separate collapsible tables), a status filter dropdown, and
instant search/sort.
### How was this patch tested?
- `./dev/lint-js` - passed
- `./dev/scalastyle` - passed
- `./build/sbt sql/compile` - passed
- Updated `AllExecutionsPageSuite` to verify the new skeleton page rendering
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]