danny0405 commented on code in PR #7561: URL: https://github.com/apache/hudi/pull/7561#discussion_r1058040290
########## hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java: ########## @@ -385,21 +386,44 @@ public HoodieMetastoreConfig getMetastoreConfig() { } /** - * Returns fresh new archived commits as a timeline from startTs (inclusive). - * - * <p>This is costly operation if really early endTs is specified. - * Be caution to use this only when the time range is short. - * - * <p>This method is not thread safe. + * Returns the cached archived timeline from startTs (inclusive). * - * @return Archived commit timeline + * @param startTs The start instant time (inclusive) of the archived timeline. + * @return the archived timeline. */ public HoodieArchivedTimeline getArchivedTimeline(String startTs) { - return new HoodieArchivedTimeline(this, startTs); + return getArchivedTimeline(startTs, true); + } + + /** + * Returns the cached archived timeline if using in-memory cache or a fresh new archived + * timeline if not using cache, from startTs (inclusive). + * <p> + * Instantiating an archived timeline is costly operation if really early startTs is + * specified. + * <p> + * This method is not thread safe. + * + * @param startTs The start instant time (inclusive) of the archived timeline. + * @param useCache Whether to use in-memory cache. + * @return the archived timeline based on the arguments. + */ + public HoodieArchivedTimeline getArchivedTimeline(String startTs, boolean useCache) { + if (useCache) { + return archivedTimelineMap.computeIfAbsent(startTs, this::instantiateArchivedTimeline); Review Comment: When the cache is cleared ? -- 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: commits-unsubscr...@hudi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org