Author: szetszwo
Date: Tue Apr 3 19:56:05 2012
New Revision: 1309119
URL: http://svn.apache.org/viewvc?rev=1309119&view=rev
Log:
HDFS-3176. Use MD5MD5CRC32FileChecksum.readFields() in JsonUtil . Contributed
by Kihwal Lee
Modified:
hadoop/common/branches/branch-1/CHANGES.txt
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/web/JsonUtil.java
Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1309119&r1=1309118&r2=1309119&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Tue Apr 3 19:56:05 2012
@@ -199,6 +199,9 @@ Release 1.1.0 - unreleased
MAPREDUCE-4012. Hadoop Job setup error leaves no useful info to users
(when LinuxTaskController is used) (tgraves)
+ HDFS-3176. Use MD5MD5CRC32FileChecksum.readFields() in JsonUtil . (Kihwal
+ Lee via szetszwo)
+
Release 1.0.3 - unreleased
NEW FEATURES
Modified:
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/web/JsonUtil.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/web/JsonUtil.java?rev=1309119&r1=1309118&r2=1309119&view=diff
==============================================================================
---
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/web/JsonUtil.java
(original)
+++
hadoop/common/branches/branch-1/src/hdfs/org/apache/hadoop/hdfs/web/JsonUtil.java
Tue Apr 3 19:56:05 2012
@@ -444,18 +444,13 @@ public class JsonUtil {
final byte[] bytes = StringUtils.hexStringToByte((String)m.get("bytes"));
final DataInputStream in = new DataInputStream(new
ByteArrayInputStream(bytes));
- final int bytesPerCRC = in.readInt();
- final long crcPerBlock = in.readLong();
- final MD5Hash md5 = MD5Hash.read(in);
- final MD5MD5CRC32FileChecksum checksum = new MD5MD5CRC32FileChecksum(
- bytesPerCRC, crcPerBlock, md5);
-
- //check algorithm name
- final String alg = "MD5-of-" + crcPerBlock + "MD5-of-" + bytesPerCRC +
"CRC32";
- if (!alg.equals(algorithm)) {
- throw new IOException("Algorithm not matched: algorithm=" + algorithm
- + ", crcPerBlock=" + crcPerBlock
- + ", bytesPerCRC=" + bytesPerCRC);
+ final MD5MD5CRC32FileChecksum checksum = new MD5MD5CRC32FileChecksum();
+ checksum.readFields(in);
+
+ //check algorithm name
+ if (!checksum.getAlgorithmName().equals(algorithm)) {
+ throw new IOException("Algorithm not matched. Expected " + algorithm
+ + ", Received " + checksum.getAlgorithmName());
}
//check length
if (length != checksum.getLength()) {