-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
Current Behavior
Hi,
I am in the process of replacing Envoy with Apisix for grpc-web request transformation. My tests show that many things seem to work already, but I experienced a bug with the following edge case:
I have a server side grpc streaming response that immediately returns an error when called. This results in two calls of the error handler function on the frontend. The first error contains the following unexpected error message: upstream grpc status not received
The second error contains the expected error message from the server.
With Envoy only the expected server error is received on the frontend.
Expected Behavior
Only the expected server error is delivered to the frontend.
Error Logs
No response
Steps to Reproduce
I created a minimal example to reproduce this edge case here:
Here you find the immediate error response on the server side.
Here you find the frontend error handler that gets called twice.
Environment
- APISIX version (run
apisix version
): 3.12.0 - Operating system (run
uname -a
): Linux 6.14.3-zen1-1-zen - OpenResty / Nginx version (run
openresty -V
ornginx -V
): openresty/1.27.1.1 - etcd version, if relevant (run
curl http://127.0.0.1:9090/v1/server_info
): - - APISIX Dashboard version, if relevant: -
- Plugin runner version, for issues related to plugin runners: -
- LuaRocks version, for installation issues (run
luarocks --version
): -
Metadata
Metadata
Assignees
Labels
Type
Projects
Status