diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/MarkerFiles.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/MarkerFiles.java index 36112456f2660..40be741025e8f 100644 --- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/MarkerFiles.java +++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/MarkerFiles.java @@ -166,10 +166,12 @@ public static String stripMarkerSuffix(String path) { public List allMarkerFilePaths() throws IOException { List markerFiles = new ArrayList<>(); - FSUtils.processFiles(fs, markerDirPath.toString(), fileStatus -> { - markerFiles.add(stripMarkerFolderPrefix(fileStatus.getPath().toString())); - return true; - }, false); + if (doesMarkerDirExist()) { + FSUtils.processFiles(fs, markerDirPath.toString(), fileStatus -> { + markerFiles.add(stripMarkerFolderPrefix(fileStatus.getPath().toString())); + return true; + }, false); + } return markerFiles; } diff --git a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/TestMarkerFiles.java b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/TestMarkerFiles.java index b25427baf8279..b854abc785d05 100644 --- a/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/TestMarkerFiles.java +++ b/hudi-client/hudi-spark-client/src/test/java/org/apache/hudi/table/TestMarkerFiles.java @@ -119,6 +119,7 @@ public void testDeletionWhenMarkerDirExists() throws IOException { public void testDeletionWhenMarkerDirNotExists() throws IOException { // then assertFalse(markerFiles.doesMarkerDirExist()); + assertTrue(markerFiles.allMarkerFilePaths().isEmpty()); assertFalse(markerFiles.deleteMarkerDir(context, 2)); }