-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tengine + xquic 上传文件超过 200K 后出现文件内容损坏 #1937
Comments
Workaround开启 |
@lianglli 这个问题 tengine 目前团队的核心人员有人跟进吗? 如果开启 这个问题其实挺严重的,如果只能采用 ”边缓冲边上传” 的模式,必须解决出现文件内容损坏的问题。看了一下源码,是 r->request_body->buf 的边界处理问题,还涉及到 quic/http3 的流控的问题(http3 无法像 http2 那样,通过WINDOW_UPDATE 帧直接通告接收窗口大小, 只能在 quic 层面去调整)。如果没人跟进的话,可以把这个问题 assign 给我。 |
这是一个已知的内部问题;你提及的workaround是正确的,针对H3协议的上传文件和大报文的场景,需要禁用流式传输,缓存收包完成后,再向后端upstream转发。 |
Ⅰ. Issue Description
tengine + xquic 上传文件超过 200K 后出现文件内容不一致
Ⅱ. Describe what happened
使用 tengine + xquic 配置文件上传服务,向后端的 http 服务上传文件,当上传文件大小超过 200K 后,出现文件内容有损;
确认后端 http 文件上传服务无问题
Ⅲ. Describe what you expected to happen
定位原因,修复该 Bug,在 client_max_body_size 限制内,保证文件内容上传完整
Ⅳ. How to reproduce it (as minimally and precisely as possible)
Ⅴ. Anything else we need to know?
跟文件上传有关的配置参数如下
Ⅵ. Environment:
tengine:3.1.0
xquic: 1.7.2
The text was updated successfully, but these errors were encountered: