测试中发现的问题:心跳检测

发布于 2022-09-18 02:32:31 字数 266 浏览 13 评论 0

2台tracker,2台storage,2台storage在1个卷.
将其中一台storage断电后,然后monitor发现该storage的状态还是active.本来以为过一段时间状态
会变为offline,但是等了一个半小时状态还是active.如果kill掉进程,状态很快就会变化.
tracker在一段时间内接收不到storage的心跳时,应该会自动将该storage的状态变为
offline,难道目前fastdfs还没有实现这种机制吗,或者有什么地方可以设置的吗,请指教!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

违心° 2022-09-25 02:32:31

storage server会定期向tracker server发送心跳包。
storage server的状态从active转换为offline,tracker server是看其对应的socket是否断掉。
storage server突然断电的情况还真没有测试过,可以考虑tracker server没有收到storage server的心跳的情况下,将其自动下线。

二智少女 2022-09-25 02:32:31

我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage的心跳包,则视为offline.
期待中!!!!!!

江湖正好 2022-09-25 02:32:31

原帖由 zhouzezhong 于 2009-8-27 10:01 发表
我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage ...

多谢happy_fish,我也重现了这个问题,storage状态变了tracker不能准备感知:
1,启动一个group的第二个storage后进入文件同步显示SYNCING,然后ls查看文件同步已经完成,几分钟后还是SYNCING状态,没有更新状态到ACTIVE,测试文件不会上传到这个storage;
2,手工stop这个storage,结果10分钟了继续保持SYNCING状态,未显示OFFLINE状态。
3,其中storage_servers.dat 内的状态跟monitor显示的不同,即使重启tracker也不会更新成一致。

呵呵,最近发现FastDFS的机制的确非常符合存储大量小文件做并发访问,所以做了些测试,发现还存在一些问题,热切期盼新版本解决。

[ 本帖最后由 happy_fastdfs 于 2009-8-27 15:59 编辑 ]

微暖i 2022-09-25 02:32:31

原帖由 zhouzezhong 于 2009-8-27 10:01 发表
我的tracker server的timeout时间为60秒.按照正常情况60秒后,所有的socket应该都断掉,没有理由等一个小时还没有反应.
建议斑竹在tracker一端加上定时功能,如果,一段时间内tracker一端收不到storage ...

V1.20版本中tracker已经增加了对storage server的active检查,欢迎大家下载使用。
非常感谢zhouzezhong的反馈!

2022-09-25 02:32:31

从V1.20版本开始tracker支持alive检测,alive检测时间间隔一定要大于storage的心跳时间间隔,是心跳时间间隔的2~3倍即可。
即将推出的V1.21版本中,通过socket的KEEP ALIVE机制,可以检测到网络异常断掉的情况。通过以上两种方式,解决了网络异常中断的情况下,tracker server不能感知的问题。
非常感谢zhouzezhong和happy_fastdfs,感谢你们对FastDFS进行了各种各样的测试和反馈!

多情癖 2022-09-25 02:32:31

看了下代码,keepalive选项是不是应该应用到accept返回的socket, 而不是监听socket?

鹿童谣 2022-09-25 02:32:31

我测试过,对于KEEP ALIVE选项,设置监听的socket后,会对accept得到的socket起作用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文