[release/7.0] Avoid stream ID and client result ID collisions #46591
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.
Backport of #46570 to release/7.0
/cc @BrennanConroy
Avoid stream ID and client result ID collisions
Description
The new Client Results features in 7.0 can cause a conflict with the Client Streaming feature in very specific cases. Specifically, when the client and server generate the same ID and then the client returns a result, which will complete the stream instead of completing the client result.
Fixes #46503
Customer Impact
In rare cases client to server streams can be completed accidentally and client results will end up timing out.
Regression?
Risk
Narrow scope, combination of new and old feature, well understood issue.
Verification
Packaging changes reviewed?