diff --git a/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java b/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java index 3679c8a6602df..20bc46d676146 100644 --- a/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java +++ b/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/WriteProfiles.java @@ -34,11 +34,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.FileNotFoundException; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -119,12 +121,16 @@ private static List getWritePathsOfInstant(Path basePath, HoodieComm }).map(path -> { try { return fs.getFileStatus(path); + } catch (FileNotFoundException fe) { + LOG.warn("File {} was deleted by the cleaner, ignore", path); + return null; } catch (IOException e) { LOG.error("Get write status of path: {} error", path); throw new HoodieException(e); } }) // filter out crushed files + .filter(Objects::nonNull) .filter(fileStatus -> fileStatus.getLen() > 0) .collect(Collectors.toList()); }