trackerd.log日志:
ERROR - file: tracker_service.c, line: 1144, cmd=69, client ip addr: XXXX, package size 5 is not correct, expect 4 bytes
代码:
org.csource.fastdfs.TrackerClient#fetchStorageIds中
byte[] header = ProtoCommon.packHeader((byte)69, 5L, (byte)0);
应该需要改成4吧
byte[] header = ProtoCommon.packHeader((byte)69, 4L, (byte)0);
server端要用最新的 v6.11,用master分支或者V6.11.0这个tag均可。
用的就是最新的master编译的
改成4L 就正常了。昨天还发现tracker_service.c里面处理IPV6的时候有问题,pIpAndPort = pTask->recv.ptr->data + sizeof(TrackerHeader) 的值是如"2201:db0:1:0:5825:2a6a:6c4a:8907:22122"不带"[]"的地址加端口,22122是端口,导致按照IPv4解析的。把地址端口的解析改了之后,就可以正常使用。我的环境是3个服务器集群的
好像确实fdfs server的代码下错了。
tracker_service.c里面tracker_deal_commit_next_leader
if (splitEx(pIpAndPort, ':', ipAndPort, 2) != 2)
这个处理IPv6地址没问题吗
感谢反馈,刚才修复了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论