HuangZhenQiu commented on code in PR #18790:
URL: https://github.com/apache/hudi/pull/18790#discussion_r3278984284


##########
hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/BucketAssignFunction.java:
##########
@@ -145,6 +145,26 @@ public void open(Configuration parameters) throws 
Exception {
     this.recordProcessor = initRecordProcessor();
     this.metrics = new 
FlinkBucketAssignMetrics(getRuntimeContext().getMetricGroup());
     this.metrics.registerMetrics();
+    initRliShardAssignMetric();
+  }
+
+  /**
+   * Computes and registers the number of RLI shards assigned to this task 
when global RLI is active.
+   * Each task owns the file groups whose index satisfies {@code fgIndex % 
numPartitions == taskIndex}.
+   */
+  private void initRliShardAssignMetric() {
+    if (!OptionsResolver.isGlobalRecordLevelIndex(conf)) {
+      return;
+    }
+    try {
+      int numFileGroups = 
GlobalRecordIndexPartitioner.fetchNumFileGroupsForRecordIndexPartition(conf);

Review Comment:
   Yes, added cache GlobalRecordIndexPartitioner to make sure sub tasks may 
reuse the numFileGroups.



-- 
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