rohan-uptycs commented on code in PR #8503:
URL: https://github.com/apache/hudi/pull/8503#discussion_r1174966444
##########
hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bucket/HoodieSparkConsistentBucketIndex.java:
##########
@@ -275,4 +278,46 @@ public Option<HoodieRecordLocation>
getRecordLocation(HoodieKey key) {
throw new HoodieIndexException("Failed to getBucket as hashing node has
no file group");
}
}
+
+ /**
+ * Update default metadata file(00000000000000.hashing_meta) with the latest
committed metadata file so that default file will be in sync
+ * with latest commit.
+ *
+ * @param table
+ */
+ public void updateMetadata(HoodieTable table) {
+ Map<String, Boolean> partitionVisiteddMap = new HashMap<>();
+ HoodieTimeline hoodieTimeline =
table.getActiveTimeline().getCompletedReplaceTimeline();
+ hoodieTimeline.getInstants().forEach(instant -> {
+ Option<Pair<HoodieInstant, HoodieClusteringPlan>> instantPlanPair =
Review Comment:
@SteNicholas , No i think. **loadMetadata** function refers to active
timeline(replaced commit) to load metadata for reader and writers. Hence we are
only interested in replace commit from active timeline.
And this code will make sure to keep replace commit in sync before archiving
the replace commit..
--
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]