gripleaf opened a new issue #1597: URL: https://github.com/apache/incubator-brpc/issues/1597
条件1: server侧的H2Context的_deferred_window_update 只有在stream 被回收或者某个stream未ack 数据超过128KB时才会重置并给client发送FRAME_WINDOW_UPDATE(stream_id=0). 条件2: 与此同时,brpc server侧限制了client最多发送1MB未ack的数据; 为满足这两个条件,client端在发送了1MB数据后,可能会一直收不到server侧的FRAME_WINDOW_UPDATE,而无法继续发送数据,而server侧因为没能收到完整的stream的数据包,而无法处理请求。 相应case: 当有10个stream同时被处理,每个stream都需要向server发送100KB的请求数据,但当每个stream都向brpc 发送了100KB数据后,client端已经发送了1MB的未ACK的数据,需要等待server侧的FRAME_WINDOW_UPDATE来确认数据被ack,但是由于条件1的限制,没有一个stream可以被回收,也没有一个stream的未ACK数据超过128KB,导致server一直不会发送FRAME_WINDOW_UPDATE。 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
