Skip to content

bug: grpc-web unexpected error "upstream grpc status not received" #12202

@Tereius

Description

@Tereius

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 or nginx -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

bugSomething isn't workingwait for updatewait for the author's response in this issue/PR

Type

No type

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions