Fix fault injection filter to still run trailing md closure even if no error#25926
Merged
stanley-cheung merged 1 commit intogrpc:masterfrom Apr 8, 2021
Merged
Conversation
…a closure when no error
markdroth
approved these changes
Apr 8, 2021
lidizheng
approved these changes
Apr 8, 2021
Contributor
lidizheng
left a comment
There was a problem hiding this comment.
Thanks for fixing this. My bad. I wonder how can we catch it in tests? Do you know why this wrong logic only impacts PHP implementation?
Contributor
Author
|
Yea I will check other lang to see why PHP has exposed this and in what way PHP does things differently. |
Contributor
Author
|
Merging this for now. The investigation and whether to add test can happen in parallel. |
This was referenced Apr 8, 2021
Merged
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.
Attempt to fix the issue seen in #25696 (comment). A short summary is that, after turning on the
GRPC_XDS_EXPERIMENTAL_FAULT_INJECTIONenv var, PHP cannot complete 1 RPC in the xDS v3 tests. Thegrpc_completion_queue_pluck()call to get the UnaryCall response message is stuck and does not return.Yash noticed that in the fault injection filter, if
calld->abort_error_ == GRPC_ERROR_NONE, then theoriginal_recv_trailing_metadata_ready_closure were not run.This may not be the right fix but I'd like to see if this fixes the problem I have been seeing with the PHP + v3 xds tests failing. So far, for the
ping_pongtest, with this fix, I am able to get the RPCs to complete normally now.