From 8545ea3856134d9252339614390672b1872ec75c Mon Sep 17 00:00:00 2001 From: lw0090 Date: Mon, 26 Oct 2020 12:04:56 +0800 Subject: [PATCH] [HUDI-1118] Cleanup rollback files residing in .hoodie folder (#2205) --- .../java/org/apache/hudi/table/HoodieTimelineArchiveLog.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTimelineArchiveLog.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTimelineArchiveLog.java index af2c2782e..a6b11af23 100644 --- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTimelineArchiveLog.java +++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/HoodieTimelineArchiveLog.java @@ -48,6 +48,7 @@ import org.apache.hudi.common.table.timeline.HoodieTimeline; import org.apache.hudi.common.table.timeline.TimelineMetadataUtils; import org.apache.hudi.common.table.view.TableFileSystemView; import org.apache.hudi.common.util.CleanerUtils; +import org.apache.hudi.common.util.CollectionUtils; import org.apache.hudi.common.util.CompactionUtils; import org.apache.hudi.common.util.Option; import org.apache.hudi.common.util.collection.Pair; @@ -62,7 +63,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -147,7 +147,7 @@ public class HoodieTimelineArchiveLog { private Stream getCleanInstantsToArchive() { HoodieTimeline cleanAndRollbackTimeline = table.getActiveTimeline() - .getTimelineOfActions(Collections.singleton(HoodieTimeline.CLEAN_ACTION)).filterCompletedInstants(); + .getTimelineOfActions(CollectionUtils.createSet(HoodieTimeline.CLEAN_ACTION, HoodieTimeline.ROLLBACK_ACTION)).filterCompletedInstants(); return cleanAndRollbackTimeline.getInstants() .collect(Collectors.groupingBy(HoodieInstant::getAction)).values().stream() .map(hoodieInstants -> { @@ -187,7 +187,6 @@ public class HoodieTimelineArchiveLog { } private Stream getInstantsToArchive() { - // TODO: Handle ROLLBACK_ACTION in future Stream instants = Stream.concat(getCleanInstantsToArchive(), getCommitInstantsToArchive()); // For archiving and cleaning instants, we need to include intermediate state files if they exist