chenBright commented on issue #3132: URL: https://github.com/apache/brpc/issues/3132#issuecomment-3547145031
> > 我认为,将CQ拆成send CQ(solicited_only=0)和recv CQ(solicited_only=1)这个方案,实现更简单、清晰、好维护。要通过交互来保证能poll到send WC,感觉实现比较复杂和不好保证没有bug。 > > 其实 RDMA 滑动窗口机制就是通过交互来实现的, 只不过目前存在的缺陷是未有效防止发送端 SQ 耗尽。可以想一下, 如果不「将CQ拆成send CQ(solicited_only=0)和recv CQ(solicited_only=1)」 有没有可能存在一种情况,4 个窗口期去 poll CQE 都没有 poll 到一个 send CQE 呢? 正如前面提到的:“当网络压力大的时候, 存在一种情况, 对端收到了消息然后对端应用层也处理了该消息, 但是对端驱动层回复的 ACK 可能丢了或者超时了; 而本端应用层收到了对端应用层发送的 ACK”。 我理解,这种场景下,有可能4个窗口期都poll不到send WC。 -- 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]
