Skip to content

Wrong grpc-status header #2961

Open
@TWHOI

Description

@TWHOI

A Python grpc server (did not test with java yet) with plain text h2c:

  ...
  context.set_details("some details")
  context.set_code(grpc.StatusCode.RESOURCE_EXHAUSTED)
  return RESPONSE()

Leads to 3 frames being send in the response:

  • HEADERS, without grpc-status
  • DATA
  • HEADERS containing grpc-status 8 - RESOURCE EXHAUSTED
  • RST_STREAM

The gateway is unable to read the grpc status and adds a 0 / OK, so the client never sees the original grpc status.
The gateway should probably even close the connection if a non ok status code was received? I would assume that the server does not send that status code again. Clients seem to do that, they throw an exception.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions