Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.3.1, 3.3.2
Description
HDFS client 'pread' represents 'position read', this kind of read just need a range of data instead of reading the whole file/block. By using BlockReaderFactory#setLength, client tells datanode the block length to be read from disk and sent to client.
To EC file, the block length to read is not well set, by default using 'block.getBlockSize() - offsetInBlock' to both pread and sread. Thus datanode read much more data and send to client, and abort when client closes connection. There is a lot waste of resource to this situation.
Attachments
Issue Links
- links to