This is an automated email from the ASF dual-hosted git repository. yihua pushed a commit to branch branch-0.x in repository https://gitbox.apache.org/repos/asf/hudi.git
commit beb20386e0315eb0867ef769bf685bb770bcf9bf Author: Sivabalan Narayanan <[email protected]> AuthorDate: Sun Apr 21 11:19:45 2024 -0700 [HUDI-7655] Minor fix to rli validation with MDT validator (#11060) --- .../org/apache/hudi/utilities/HoodieMetadataTableValidator.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java index 6265f0ba3db..a5d002ccd73 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java @@ -959,6 +959,7 @@ public class HoodieMetadataTableValidator implements Serializable { int numErrorSamples = cfg.numRecordIndexErrorSamples; Pair<Long, List<String>> result = keyToLocationOnFsRdd.fullOuterJoin(keyToLocationFromRecordIndexRdd, cfg.recordIndexParallelism) .map(e -> { + String recordKey = e._1; Optional<Pair<String, String>> locationOnFs = e._2._1; Optional<Pair<String, String>> locationFromRecordIndex = e._2._2; List<String> errorSampleList = new ArrayList<>(); @@ -967,13 +968,13 @@ public class HoodieMetadataTableValidator implements Serializable { && locationOnFs.get().getRight().equals(locationFromRecordIndex.get().getRight())) { return Pair.of(0L, errorSampleList); } - errorSampleList.add(constructLocationInfoString(locationOnFs, locationFromRecordIndex)); + errorSampleList.add(constructLocationInfoString(recordKey, locationOnFs, locationFromRecordIndex)); return Pair.of(1L, errorSampleList); } if (!locationOnFs.isPresent() && !locationFromRecordIndex.isPresent()) { return Pair.of(0L, errorSampleList); } - errorSampleList.add(constructLocationInfoString(locationOnFs, locationFromRecordIndex)); + errorSampleList.add(constructLocationInfoString(recordKey, locationOnFs, locationFromRecordIndex)); return Pair.of(1L, errorSampleList); }) .reduce((pair1, pair2) -> { @@ -1030,9 +1031,10 @@ public class HoodieMetadataTableValidator implements Serializable { } } - private String constructLocationInfoString(Optional<Pair<String, String>> locationOnFs, + private String constructLocationInfoString(String recordKey, Optional<Pair<String, String>> locationOnFs, Optional<Pair<String, String>> locationFromRecordIndex) { StringBuilder sb = new StringBuilder(); + sb.append("Record key " + recordKey + " -> "); sb.append("FS: "); if (locationOnFs.isPresent()) { sb.append(locationOnFs.get());
