使用apisix作为网关, brpc作为grpc server, 只有链接的第一个请求可以成功, 后续报错终止链接
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日志

请问解决了么?看起来像是使用方式的问题
请问解决了么?看起来像是使用方式的问题
还没, 直连没问题, 使用grpc作为server也没问题, 就是使用apisix作为grpc网关会出问题
请问解决了么?看起来像是使用方式的问题
还没, 直连没问题, 使用grpc作为server也没问题, 就是使用apisix作为grpc网关会出问题
网上似乎有个类似的case https://github.com/Kong/kong/issues/8316, 感觉是apisix的问题😅
请问解决了么?看起来像是使用方式的问题
还没, 直连没问题, 使用grpc作为server也没问题, 就是使用apisix作为grpc网关会出问题
网上似乎有个类似的case https://github.com/Kong/kong/issues/8316, 感觉是apisix的问题😅
链接没有内容, grpc本身作为server没问题啊, 感觉是brpc作为grpc server 没完全适配grpc?
建议tcpdump在apisix层抓包,从apisix的日志上看是brpc的h2pack实现和apisix的交互上存在一些问题, 您可以使用
tcpdump -i any port {brpc_port} -w /tmp/trace.cap
获取trace.cap 提供更多的信息参考
You need to turn keepalive off
keepalive
请问解决了么?看起来像是使用方式的问题
还没, 直连没问题, 使用grpc作为server也没问题, 就是使用apisix作为grpc网关会出问题
网上似乎有个类似的case https://github.com/Kong/kong/issues/8316, 感觉是apisix的问题😅
链接没有内容, grpc本身作为server没问题啊, 感觉是brpc作为grpc server 没完全适配grpc?
有进展了么,朋友
config.yaml change keepalive: 320 to keepalive: 1 change keepalive_requests: 100000 to keepalive_requests: 1 change keepalive_timeout: 10s to keepalive_timeout: 0