使用apisix作为网关, brpc作为grpc server, 只有链接的第一个请求可以成功, 后续报错终止链接
- Dominant language
- C++
- Stars
- 17.6k
- Forks
- 4.1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 69
Description
**Describe the bug (描述bug)**
报错: upstream sent invalid http2 table index: 63
**To Reproduce (复现方法)**
apisix作为grpc网关., brpc作为grpc server, 给apisix发送grpc请求即可复现
**Expected behavior (期望行为)**
正常返回请求, 而不是只有链接的第一个请求可以正确返回
**Versions (各种版本)**
OS: 公司测试机与自己的机器都可以复现, centos与ubuntu 一般的os都可以复现
Compiler: 同上
brpc: 新旧版本均可复现
protobuf: 同上
**Additional context/screenshots (更多上下文/截图)**
apisix日志

brpc client日志

Contributor guide
Research direction
Start by reproducing the APISIX gateway to brpc gRPC server setup described in the issue, then inspect the APISIX and brpc client logs for differences between the first and subsequent requests. Trace the HTTP/2 handling that produces “upstream sent invalid http2 table index: 63”; done means repeated gRPC requests return successfully instead of terminating the connection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, grpc
- Domain
- backend-api-design, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100