feat: Enhance Controller UI with comprehensive minion task stats and status filtering#16521
Merged
xiangfu0 merged 2 commits intoapache:masterfrom Aug 6, 2025
Merged
Conversation
- Created TaskStatusFilter component with visual status chips - Added status filtering to task listing pages with dropdown selection - Enhanced TaskDetail component with subtask status filtering - Implemented comprehensive filtering for all task states: COMPLETED, RUNNING, WAITING, ERROR, UNKNOWN, DROPPED, TIMED_OUT, ABORTED - Optimized React hooks with useCallback to prevent unnecessary re-renders - Added proper TypeScript types and ESLint compliance - Improved user experience with color-coded status indicators
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the Controller UI with comprehensive minion task statistics and status filtering capabilities to improve operational monitoring and troubleshooting. The changes focus on providing better visibility into task and subtask states through consolidated statistics and interactive filtering.
Key changes include:
- Enhanced task statistics with comprehensive subtask counts in a consolidated format
- Added status filtering components for both task listings and task detail pages
- Created reusable TaskStatusFilter component with visual status indicators
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| PinotMethodUtils.ts | Modified task listing to display consolidated subtask counts in format "Total/Completed/Running/Waiting/Error/Other" |
| TaskDetail.tsx | Added subtask status filtering with new TaskStatusFilter component and filtering logic |
| useTaskListing.tsx | Added task-level status filtering capabilities with filtering controls |
| TaskStatusFilter.tsx | New reusable component providing status filtering with color-coded chips and dropdown interface |
Jackie-Jiang
approved these changes
Aug 6, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR enhances the Controller UI minion pages with comprehensive task statistics and status filtering capabilities to improve monitoring and troubleshooting of minion tasks.
Changes Made
1. Enhanced Minion Task Statistics
Sub Tasks (Total/Completed/Running/Waiting/Error/Other)10/8/1/0/1/0shows 10 total, 8 completed, 1 running, 0 waiting, 1 error, 0 other2. Status Filtering for Tasks and Subtasks
3. New Components
Technical Implementation
Files Modified
pinot-controller/src/main/resources/app/utils/PinotMethodUtils.ts- Enhanced task data structurepinot-controller/src/main/resources/app/components/useTaskListing.tsx- Added task filteringpinot-controller/src/main/resources/app/pages/TaskDetail.tsx- Added subtask filteringpinot-controller/src/main/resources/app/components/TaskStatusFilter.tsx- New filtering componentQuality Assurance
Benefits
For Operations Teams
For UI/UX
Testing
Screenshots
The enhanced UI now provides:
Backward Compatibility