异常处理
更新时间:2021-12-29
server异常处理
-
多步上传到BOS异常
上传到BOS的multiupload在完成最后一个part的时候会调用
finishUpload
,由于是多线程, 同个文件的多个part可能在最后一part完成之前未完成, 在调用finishUpload
的时候可能会失败, 处理这个问题的策略是:重试5次, 每次间隔20秒,重试5次失败后abort掉之前已经完成的part。建议:当出现5次重试依旧失败的情况,可以把blockSize尽量调大,使得part总数较少。
client 异常处理
- 当server不可用时, client在第一次尝试将迁移请求发送给该server时可以立即发现其不可用, 将该请求记录为unsent, 并标记该server不可用, 之后的请求不会再发往该server。如果确定该server修复之后, 可以touch一下client的配置文件client.properties, 触发client配置重新加载;建议设置一个crontab定时去touch配置文件client.properties。
- client达到系统分配的fd(socket fd)数量极限,检查是否
filesPerrequet
是否过小, 如果确定是这个原因, 则需要适当调大, 杀掉所有server(或者让client于所有server"失联"), 等待已经占有的大部分socket fd释放之后重新touch client的配置文件。