The HDFS file upload utility class may have the possibility of data loss. #97
Labels
affects/master
PR/issue: this bug affects master version.
severity/trivial
Severity of bug
type/bug
Type: something is unexpected
经过对hdfs文件上传时的代码逻辑分析,看代码存在可能丢数据的风险
代码位置:https://github.com/vesoft-inc/nebula-exchange/blob/master/exchange-common/src/main/scala/com/vesoft/exchange/common/utils/HDFSUtils.scala
代码方法:
(1)校验文件不存在,看调用逻辑,只有文件生成后才会上传文件,如果上传的时候文件不存在了,也没有抛出异常和记录,这部分代码相当于把异常吃掉了,感觉存在丢数据风险
(2)catch阶段感觉存在同样未对异常处理的问题
(3)经过测试,发现目前文件存在并发情况下被其他任务删除的场景下,hdfs会上传存在size为0的文件,影响ingest
解决办法
个人认为是否需要把这些异常统一抛出去,executor执行情况下收到异常将会kill容器,重试task保证数据完整性
期望回复
The text was updated successfully, but these errors were encountered: