diff --git a/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieDefaultTimeline.java b/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieDefaultTimeline.java index c7a6230ff..678d056f5 100644 --- a/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieDefaultTimeline.java +++ b/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieDefaultTimeline.java @@ -132,6 +132,13 @@ public class HoodieDefaultTimeline implements HoodieTimeline { details); } + @Override + public HoodieDefaultTimeline findInstantsAfterOrEquals(String commitTime, int numCommits) { + return new HoodieDefaultTimeline(instants.stream() + .filter(s -> HoodieTimeline.compareTimestamps(s.getTimestamp(), GREATER_THAN_OR_EQUALS, commitTime)) + .limit(numCommits), details); + } + @Override public HoodieDefaultTimeline findInstantsBefore(String instantTime) { return new HoodieDefaultTimeline(instants.stream() diff --git a/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieTimeline.java b/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieTimeline.java index 45b9e3404..b7c405ed4 100644 --- a/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieTimeline.java +++ b/hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieTimeline.java @@ -140,6 +140,11 @@ public interface HoodieTimeline extends Serializable { */ HoodieTimeline filterPendingCompactionTimeline(); + /** + * Create a new Timeline with all the instants after startTs. + */ + HoodieTimeline findInstantsAfterOrEquals(String commitTime, int numCommits); + /** * Create a new Timeline with instants after startTs and before or on endTs. */