This is an automated email from the ASF dual-hosted git repository.

yihua pushed a commit to branch release-1.1.0
in repository https://gitbox.apache.org/repos/asf/hudi.git

commit 63ec30032ff991a8b6ddcf3ac0b6d5b06b9add71
Author: Sivabalan Narayanan <[email protected]>
AuthorDate: Sun Oct 26 20:45:42 2025 -0700

    fi: Fixing secondary index read for V1 (#14149)
---
 .../java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java  | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git 
a/hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java
 
b/hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java
index 03e6629f5a37..4ec41d412a6e 100644
--- 
a/hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java
+++ 
b/hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java
@@ -48,7 +48,6 @@ import 
org.apache.hudi.common.table.read.buffer.ReusableFileGroupRecordBufferLoa
 import org.apache.hudi.common.table.timeline.HoodieInstant;
 import org.apache.hudi.common.table.view.HoodieTableFileSystemView;
 import org.apache.hudi.common.util.ConfigUtils;
-import org.apache.hudi.common.util.HoodieDataUtils;
 import org.apache.hudi.common.util.Option;
 import org.apache.hudi.common.util.StringUtils;
 import org.apache.hudi.common.util.ValidationUtils;
@@ -457,11 +456,8 @@ public class HoodieBackedTableMetadata extends 
BaseTableMetadata {
         
dataMetaClient.getTableConfig().getMetadataPartitions().contains(partitionName),
         () -> "Secondary index is not initialized in MDT for: " + 
partitionName);
     // Fetch secondary-index records
-    Map<String, Set<String>> secondaryKeyRecords = 
HoodieDataUtils.collectPairDataAsMap(
-        
readSecondaryIndexDataTableRecordKeysWithKeys(HoodieListData.eager(secondaryKeys.collectAsList()),
 partitionName));
-    // Now collect the record-keys and fetch the RLI records
-    List<String> recordKeys = new ArrayList<>();
-    secondaryKeyRecords.values().forEach(recordKeys::addAll);
+    HoodiePairData<String, String> pairedData = 
readSecondaryIndexDataTableRecordKeysWithKeys(HoodieListData.eager(secondaryKeys.collectAsList()),
 partitionName);
+    List<String> recordKeys = pairedData.map(Pair::getValue).collectAsList();
     return readRecordIndexLocationsWithKeys(HoodieListData.eager(recordKeys));
   }
 

Reply via email to