Skip to content
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

RpcClient发送大size的请求会返回CLIENT_SEND_ERROR #327

Closed
ReycoLi opened this issue May 12, 2023 · 1 comment
Closed

RpcClient发送大size的请求会返回CLIENT_SEND_ERROR #327

ReycoLi opened this issue May 12, 2023 · 1 comment

Comments

@ReycoLi
Copy link

ReycoLi commented May 12, 2023

场景:
我们在使用SofaJRaft(使用sofa bolt进行通信),因为开始时设计不当,导致在中间有一些size很大的raftLog, 大概每条Log的size在100MB左右,所以AppendEntriesRequest的payload会超过100MB, leader ** sofa bolt client**发这条大request给新点的时候会返回 CLIENT_SEND_ERROR(rpcClient.invokeWithCallback),而且除此之外没有其他的error log. 这导致复制过程就会一直卡在这里

我看了一下sofa bolt好像没有关于request最大大小的配置,请问有什么建议吗?新手求教,万分感谢。

  • SOFABolt version: 1.6.4
@OrezzerO
Copy link
Collaborator

理论上 body 最大4G (2^32 bytes),header 最大 64k (2^16 bytes) 没有其他限制. 可以考虑如下思路:

  1. 用一个简单的 DEMO 复现你的问题, 然后DEBUG ,或者找社区同学求助.
  2. 用 Wireshark 抓包, 分析抓包结果. (bolt 报文格式可以参考 com.alipay.remoting.rpc.protocol.RpcProtocol 类 )
  3. 看看是不是 header 达到了64k导致的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants