yihua commented on code in PR #11131:
URL: https://github.com/apache/hudi/pull/11131#discussion_r1593522855
##########
hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java:
##########
@@ -265,7 +263,7 @@ private HFileReader newHFileReader() throws IOException {
if (path.isPresent()) {
HoodieStorage storage = HoodieStorageUtils.getStorage(path.get(), conf);
fileSize = storage.getPathInfo(path.get()).getLength();
- inputStream = new HadoopSeekableDataInputStream((FSDataInputStream)
storage.open(path.get()));
+ inputStream = storage.openSeekable(path.get());
Review Comment:
This is a behavior change. The current implementation of `openSeekable` in
`HoodieHadoopStorage` leverages `HadoopFSUtils#getFSDataInputStream` which
wraps the `FSDataInputStream` based on different conditions, which are intended
for reading log file only (not block content with InlineFS). Here for reading
HFile, it should return the `new
HadoopSeekableDataInputStream((FSDataInputStream) storage.open(path.get()))`
without any wrapping. One option is to create an overloaded `openSeekable`
with different arguments for skipping such wrapping in `HoodieStorage`, to
maintain the same behavior.
--
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]