fastdfs
fastdfs copied to clipboard
集群环境,为什么每次上传较大文件都会刚开始出现文件同步失败,需要重新同步(need be resynced)?
错误日志如下: [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
找到原因了,分析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文件,不知道是否有其他方式在上传文件数据前得到文件名?
没有并发上传吧?
没有并发上传吧?
是的,没有
FastDFS用的什么版本呢?