Details
Description
The patch at HDFS-11160 ensures BlockSender reads the correct version of metafile when there are concurrent writers.
However, the implementation is not optimal, because it must always read the last partial chunk checksum from disk while holding FsDatasetImpl lock for every reader. It is possible to optimize this by keeping an up-to-date version of last partial checksum in-memory and reduce disk access.
I am separating the optimization into a new jira, because maintaining the state of in-memory checksum requires a lot more work.
Attachments
Attachments
Issue Links
- depends upon
-
HDFS-11160 VolumeScanner reports write-in-progress replicas as corrupt incorrectly
- Resolved
- is related to
-
HDFS-12136 BlockSender performance regression due to volume scanner edge case
- Resolved
-
HDFS-15000 Improve FsDatasetImpl to avoid IO operation in datasetLock
- Patch Available
- supercedes
-
HDFS-11056 Concurrent append and read operations lead to checksum error
- Resolved