rangareddy commented on issue #17160:
URL: https://github.com/apache/hudi/issues/17160#issuecomment-5366102979
This issue was reviewed as part of the JIRA-migrated backlog triage
(HUDI-9722).
**Findings: confirmed, and there is a second problem alongside the one you
described.**
The method has moved since the line you referenced; it is now at
`hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java:1262`:
```java
} catch (Exception e) {
// NOTE: In case reading column range metadata from individual file failed,
// we simply fall back, in lieu of failing the whole task
log.error("Failed to fetch column range metadata for: {}",
partitionPathFileName);
return Collections.emptyList();
}
```
Two issues rather than one:
1. **It catches `Exception`**, not `IOException`, so validation failures and
logic errors are swallowed - exactly the behaviour you hit where your
validation failed without stopping the program.
2. **It never logs `e`.** The `log.error` call passes only
`partitionPathFileName`, so the throwable is discarded. The failure is
unattributable even from the logs, which is worse than a broad catch on its own.
And your observation about col stats still existing is explained by the
return value: `Collections.emptyList()` means the caller goes on to create
column-stats records for that file with no ranges in them, rather than
recording that the file has no usable stats.
**One important sequencing note:** #17206 (HUDI-9800) documents what this
suppression is currently hiding - narrowing the catch makes
`testMetadataColumnStatsIndexInitializationWithRollbacks` fail with a real
"File does not exist" error. So fixing this ticket first would turn a silent
problem into a broken initialization path. The two should be done together,
with #17206 first.
Keeping this open.
--
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]