AWS实例/控制器节点随机无法找到FSx上已存在文件问题求助
偶发FileNotFoundError:AWS实例无法读取Amazon FSx上已创建文件
这是一个无固定复现触发条件的偶发问题,核心现象是AWS实例/控制器节点会随机无法找到已经在Amazon FSx上创建完成的文件。
示例代码
import dask fn = '/mnt/fsx/home/user/something.txt' def run(): with open(fn) as f: s1 = f.readlines() with open(fn) as g: # 该行可能抛出FileNotFoundError s2 = g.readlines() # 注:原代码存在笔误,此处应为g.readlines()而非f return len(s1) + len(s2) with open(fn, 'w') as f: f.write('blah blah blah') ret = [dask.delayed(run)() for _ in range(2000)] result = dask.compute(ret)
问题详情
在run()函数执行第二次open()操作时,可能会抛出Python标准的FileNotFoundError。目前尚未定位到问题的具体成因,也未找到有效的缓解手段。
已评估的替代方案
曾考虑将文件存储迁移至S3,借助其内置的文件访问重试机制规避问题,但该方案会引入额外的负载压力及成本增量,暂未落地。
内容的提问来源于stack exchange,提问作者michaelgbj
相关产品推荐
相关产品推荐

