fastdfs icon indicating copy to clipboard operation
fastdfs copied to clipboard

集群环境,为什么每次上传较大文件都会刚开始出现文件同步失败,需要重新同步(need be resynced)?

Open Ganvor1124 opened this issue 3 years ago • 4 comments

错误日志如下: [2020-12-30 17:37:15] WARNING - file: storage_service.c, line: 5871, client ip: x.x.x.x, file /opt/fastdfs/data/data/00/C4/o4YBAF_sSemEbqJxAAAAAAAAAAA4319868, my file size: 52166586 > 0, but < 645041402, need be resynced

Ganvor1124 avatar Dec 30 '20 10:12 Ganvor1124

找到原因了,分析fastdfs源码,是由于我这边使用是先upload_appender_file 0kb文件,之后再用append_file上传文件数据。append_file会触发文件修改同步,这时对于大文件出现“stat_buf.st_size > start_offset”概率很高,于是触发了重新同步need be resynced。 不先生成0kb文件,直接使用upload_file上传数据便没有这个“need be resynced”问题

但是,我们这里需要事先得到最终文件名,所以先生成0kb文件,不知道是否有其他方式在上传文件数据前得到文件名?

Ganvor1124 avatar Dec 30 '20 11:12 Ganvor1124

没有并发上传吧?

happyfish100 avatar Dec 30 '20 11:12 happyfish100

没有并发上传吧?

是的,没有

Ganvor1124 avatar Dec 30 '20 12:12 Ganvor1124

FastDFS用的什么版本呢?

happyfish100 avatar Dec 30 '20 23:12 happyfish100