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)); }
