This is an automated email from the ASF dual-hosted git repository.
sivabalan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 0dbeb77b92a [HUDI-7655] Minor fix to rli validation with MDT validator
(#11060)
0dbeb77b92a is described below
commit 0dbeb77b92a786ed4c4e728533e61927b93de70b
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 75ff9a41fc0..0e9820a5c9b 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());