Bug 2038391: Handle expired TC tasks in the details panel#9532
Open
camd wants to merge 1 commit into
Open
Conversation
47e98cb to
0a571fd
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #9532 +/- ##
==========================================
+ Coverage 82.98% 82.99% +0.01%
==========================================
Files 618 618
Lines 35800 35858 +58
Branches 3288 3330 +42
==========================================
+ Hits 29707 29762 +55
- Misses 5723 5726 +3
Partials 370 370 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
0a571fd to
0b9b8a4
Compare
0b9b8a4 to
2236075
Compare
| firstRawLogUrl, | ||
| taskExpired, | ||
| selectedJobFull, | ||
| jobDetails, |
Collaborator
There was a problem hiding this comment.
I don't think jobDetails, decisionTaskMap and currentRepo are necessary.
Collaborator
Author
There was a problem hiding this comment.
A good observation. However, though these aren't used directly, they are used during retrigger and some other actions when the object is passed to them.
Added a comment to be explicit about it.
72e3595 to
9782ee6
Compare
Previously, selecting a job whose Taskcluster task had expired caused queue.task() to reject inside fetchTaskData, which rejected the whole Promise.all in useJobDetails and left selectedJobFull as null. Both SummaryPanel and TabsPanel gate their content on selectedJobFull, so the details panel rendered completely blank with no explanation. Catch the queue.task() failure, fall back to defaults so the rest of the panel renders, and surface an "Expired" badge next to the State line. Disable actions that need a live task definition (Retrigger, Cancel, Backfill, Create Interactive Task, Create Gecko Profile, Generate side-by-side, Confirm Test Failures, Custom Action) with tooltips explaining why. Log buttons render disabled, and an expired log returns a clear "no longer available" message in the log viewer.
9782ee6 to
20ea61f
Compare
Collaborator
Author
|
[!NOTE] |
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.
Bug 2038391
Previously, selecting a job whose Taskcluster task had expired caused queue.task() to reject inside fetchTaskData, which rejected the whole Promise.all in useJobDetails and left selectedJobFull as null. Both SummaryPanel and TabsPanel gate their content on selectedJobFull, so the details panel rendered completely blank with no explanation.
Catch the queue.task() failure, fall back to defaults so the rest of the panel renders, and surface a "Taskcluster task expired" badge next to the State line. Disable actions that need a live task definition (Retrigger, Cancel, Backfill, Create Interactive Task, Create Gecko Profile, Generate side-by-side, Confirm Test Failures, Custom Action) with tooltips explaining why.
I also cleaned up a few ancillary things like old
classcomponents and messaging in the logviewer when a task is expired (no log will be available).