legionxiong commented on issue #3132: URL: https://github.com/apache/brpc/issues/3132#issuecomment-3544977710
滑动窗口失效的原因应该不是共享 CQ 所致, 而是滑动窗口机制依赖一个前置条件, 就是本端应用层收到了对端应用层 ACK 认为底层 SQ 都释放掉了。 在无损的 IB 网络, 这个条件可能成立。 而对于基于以太网的 RoCEv2, 这个是不保证的。 底层驱动发送一个消息后,只有收到对端驱动的 ACK 才会释放 SQ。 当网络压力大的时候, 存在一种情况, 对端收到了消息然后对端应用层也处理了消息, 但是对端驱动层回复的 ACK 丢了或者超时了; 而本端应用层收到了对端应用层发送的 ACK, 累加窗口, 实际上本端驱动层因为接收 ACK 超时导致重发消息, 并未释放 SQ。 -- 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]
