live4thee commented on PR #3034: URL: https://github.com/apache/brpc/pull/3034#issuecomment-3349971625
> > > > 使用这个PR后,会报这样的错误: <img alt="image" width="2000" height="403" src="https://private-user-images.githubusercontent.com/7091130/469022910-8453d73e-a5ec-479b-b440-a653bd5697f6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTkxMjcxMzQsIm5iZiI6MTc1OTEyNjgzNCwicGF0aCI6Ii83MDkxMTMwLzQ2OTAyMjkxMC04NDUzZDczZS1hNWVjLTQ3OWItYjQ0MC1hNjUzYmQ1Njk3ZjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDkyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA5MjlUMDYyMDM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZjIyMTcyNWMyZWY4MTdkYTYwNjAxYzkzOTMyNzEzOTA4ZTU5YWNjZDYxMTM1NDYxYjExNzNjOWQzNjk2Mzc5MCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.xWnkl4q8EDeuK0bnk6VcF5XdP4uFmO7GtRMhAqoyXO4"> 你们遇到过吗 > > > > > > > > > hi,这个能使用rdma performance复现出来吗? 我们也遇到了这个问题,但我没找到简单的复现方法,我个人猜测是 RDMA的SQ和RQ共享了CQ后,此时SQ和RQ之间生成CQE的顺序是不保证的,因此是否存在这样一种罕见情况: RQ收到对端的SendACK后生成的CQE 在 SQ的CQE之前,在PollCQ中处理时,1.先处理到RQ的CQE,增加window的值;2.再处理SQ的CQE;如果在1和2这两步之间有其他的线程发请求,检查到window的值非0,但此时由于还没poll到SQ的CQE,SQ中的指针没有更新,就导致无法发送成功。 想问下是否可以通过rdma performance复现出来?方便定位原因。 > > > > > > 具体是报什么错?图片好像显示不出来。 > > [PS2][W][0928 22:13:48.368256][20670][rdma_endpoint.cpp:878] Fail to ibv_post_send: Cannot allocate memory, window=7, sq_current=1 [PS2][W][0928 22:13:48.368309][20670][socket.cpp:1781] Fail to keep-write into Socket{id=5989 fd=1126 addr=10.24.31.213:14240:3422} (0x7fac8189d900): Cannot allocate memory [12] 前面 7/22 @yanglimingcn 也提到了这个现象。没有这个补丁时,由于这里 ENOMEM 未能捕获,导致数据错。可能还是滑动窗口逻辑的问题。也许指定更大的 attachment_size/thread_num/queue_depth 能复现?或者多个 client 压一个 server. -- 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]
