Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Health Checker job-queue receive logic to avoid terminating the overall run when a job emits non-terminating errors that become terminating during Receive-Job -ErrorAction Stop, while still suppressing on-screen error output.
Changes:
- Adds a
RedirectReceiveJobErrorStreamparameter toWait-JobQueue(defaulting to enabled). - When enabled, changes
Receive-Jobto redirect the error stream (2>$null) instead of using-ErrorAction Stop.
Comments suppressed due to low confidence (1)
Shared/JobManagementFunctions/Wait-JobQueue.ps1:26
- Adding the new parameter in the middle of the param() list changes positional binding: callers that previously invoked Wait-JobQueue positionally (e.g., passing scriptblocks as the 2nd/3rd arguments) will now bind those values to RedirectReceiveJobErrorStream instead of ProcessReceiveJobAction/CatchActionFunction. To avoid a breaking change, move RedirectReceiveJobErrorStream to the end of the parameter list or explicitly set [Parameter(Position=...)] for the existing parameters to preserve the previous positions.
param(
[int]$MaxJobsPerServer = 5,
[bool]$RedirectReceiveJobErrorStream = $true,
[ScriptBlock]$ProcessReceiveJobAction,
[ScriptBlock]$CatchActionFunction
)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
985625d to
6d3f917
Compare
Member
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Add Error Stream redirect to all the job to still be received, but not display the error message either.
6d3f917 to
bf7c67b
Compare
Member
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Issue:
When there is an
Errorthat doesn't stop the job, but it does when we attempt to receive it. This then causes the job to fail because ofReceive-Job -ErrorAction StopReason:
The original reason why the
-ErrorAction Stopwas included was to prevent the message being displayed. However, this then causes the job to fail, that would have then succeeded.Fix:
Add Error Stream redirect to all the job to still be received but not display the error message either.
Resolved #2504
Validation:
Lab/pester tested. Customer tested