Fix issue 632 (double execution of callback) #695
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.
This fixes that a grpc-status in the response header resulted in double execution of the callback that was provided to the rpcCall (#632)
In the echoAbort exampl to test grpc error response codes, this bug (#632) was not hit, because the used server library (grpc-js) is not fully compliant with other grpc server libraries. It seems that the grpc-js library is not sending grpc-status response headers in the same way as the golang, c++ implementations or that these headers are removed by envoy if grpc-js is used (this needs to be confirmed separately). In my tests, I found that simply changing the npm package to the native "grpc" library in the provided examples would result in the bug mentioned above. Therefore, I suggest to switch to the grpc npm package in the examples (i.e. grpc-js is still in beta).