CTTY commented on code in PR #11947:
URL: https://github.com/apache/hudi/pull/11947#discussion_r1797784717


##########
hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimelineUtils.java:
##########
@@ -308,6 +309,38 @@ public static HoodieTimeline getCommitsTimelineAfter(
     return timelineSinceLastSync;
   }
 
+  public static HoodieTimeline getCommitsTimeLineAfterByCompletionTimeRange(
+      HoodieTableMetaClient metaClient,
+      String exclusiveStartCompletionTime,
+      String inclusiveEndCompletionTime) {
+    HoodieDefaultTimeline writeTimeline = 
metaClient.getActiveTimeline().getWriteTimeline();
+
+    HoodieDefaultTimeline timeline;
+    if 
(writeTimeline.isBeforeTimelineStartsByCompletionTime(exclusiveStartCompletionTime))
 {
+      // need to load archived timeline as well
+      try (CompletionTimeQueryView view = new 
CompletionTimeQueryView(metaClient)) {
+        List<String> instants = view.getStartTimes(
+            exclusiveStartCompletionTime,
+            inclusiveEndCompletionTime,
+            RangeType.OPEN_CLOSED);
+        if (instants.isEmpty()) {
+          LOG.warn("Did not find any instant when getting timeline, using 
write timeline for incremental read");
+          timeline = writeTimeline;
+        } else {
+          timeline = metaClient.getArchivedTimeline(instants.get(0))
+              .mergeTimeline(writeTimeline)
+              .mergeTimeline(writeTimeline);

Review Comment:
   Yes, we only need to merge once here. Will fix this typo



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to