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 36112456f..40be74102 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 class MarkerFiles implements Serializable { 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 b25427baf..b854abc78 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 class TestMarkerFiles extends HoodieCommonTestHarness { public void testDeletionWhenMarkerDirNotExists() throws IOException { // then assertFalse(markerFiles.doesMarkerDirExist()); + assertTrue(markerFiles.allMarkerFilePaths().isEmpty()); assertFalse(markerFiles.deleteMarkerDir(context, 2)); }