问题:开发人员发现测试服上所有的文件上传都失败,后端返回“上传失败”
解决思路:
1、查看测试服java接口正常、tracker和storage进程正常、端口也通。
2、查看storage日志,有很多报错
ERROR - file: storage_service.c, line: 4460, client ip: 192.168.0.69, file_ext_name: [B@216 is invalid!
3、查看tracker日志,只在最后一行有个信息:
INFO - file: tracker_mem.c, line: 5954, storage server 192.168.0.21:23000 idle too long, status change to offline!
大概含义是空闲时间过长,状态置为离线。
解决:重启storage后解决问题
疑问:文件服务一直在使用,为什么会说idle too long。后来想到中午公司网络不正常,然后看到tracker有个启动参数是g_connection_pool_max_idle_time=3600s。应该是指,tracker会检测storage是否在线,如果超过3600s没检测到storage
则会将storage踢下线,类似于nginx的upstream。但问题是,网络恢复正常后,tracker却没有再次将storage的状态改变。。。
这是一个坑。
计划:需要及时到tracker上查看storage的状态,以免出现上述问题。可以将此加入到监控项中。