HDFS-11719. Arrays.fill() wrong index in BlockSender.readChecksum() exception handling. Contributed by Tao Zhang
This commit is contained in:
parent
48319d6eee
commit
6ff509c32a
@ -682,16 +682,17 @@ private void readChecksum(byte[] buf, final int checksumOffset,
|
||||
+ " at offset " + offset + " for block " + block, e);
|
||||
ris.closeChecksumStream();
|
||||
if (corruptChecksumOk) {
|
||||
if (checksumOffset < checksumLen) {
|
||||
if (checksumLen > 0) {
|
||||
// Just fill the array with zeros.
|
||||
Arrays.fill(buf, checksumOffset, checksumLen, (byte) 0);
|
||||
Arrays.fill(buf, checksumOffset, checksumOffset + checksumLen,
|
||||
(byte) 0);
|
||||
}
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compute checksum for chunks and verify the checksum that is read from
|
||||
* the metadata file is correct.
|
||||
|
Loading…
Reference in New Issue
Block a user