Test fix: flaky TestStreamVerifierCtxCancelPoolQueue #4980
Merged
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.
The test expects to have the stream verifier shut down after the EnqueueBacklog returns an error.
To induce an error from EnqueueBacklog, the tests cancels the task ctx while the task is in the exec pool queue.
However, the task ctx canceled is the same as the stream verifier ctx, and occasionally, the stream verifier shuts down because of the ctx before it gets the change to enqueue the task to EnqueueBacklog. When this happens, the tests fails, because the expected message does not get logged.
To fix this, never shut down the stream verifier ctx, instead, shut down the verification pool ctx to make sure the batch is rejected from the exec pool and not the batch ctx.