You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by el...@apache.org on 2011/05/23 03:29:02 UTC
svn commit: r1126288 - in /hadoop/common/branches/branch-0.22: ./ src/docs/
src/java/ src/java/org/apache/hadoop/io/ src/test/core/
src/test/core/org/apache/hadoop/io/
Author: eli
Date: Mon May 23 01:29:01 2011
New Revision: 1126288
URL: http://svn.apache.org/viewvc?rev=1126288&view=rev
Log:
HADOOP-7318. svn merge -c 1126287 from trunk
Modified:
hadoop/common/branches/branch-0.22/ (props changed)
hadoop/common/branches/branch-0.22/CHANGES.txt (contents, props changed)
hadoop/common/branches/branch-0.22/src/docs/ (props changed)
hadoop/common/branches/branch-0.22/src/java/ (props changed)
hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/io/MD5Hash.java
hadoop/common/branches/branch-0.22/src/test/core/ (props changed)
hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestMD5Hash.java
hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestSequenceFile.java (props changed)
Propchange: hadoop/common/branches/branch-0.22/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,2 +1,2 @@
-/hadoop/common/trunk:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.19/core:713112
Modified: hadoop/common/branches/branch-0.22/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/CHANGES.txt?rev=1126288&r1=1126287&r2=1126288&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.22/CHANGES.txt Mon May 23 01:29:01 2011
@@ -483,6 +483,9 @@ Release 0.22.0 - Unreleased
HADOOP-7305. Eclipse project classpath should include tools.jar from JDK.
(Niels Basjes via todd)
+ HADOOP-7318. MD5Hash factory should reset the digester it returns.
+ (todd via eli)
+
Release 0.21.1 - Unreleased
IMPROVEMENTS
Propchange: hadoop/common/branches/branch-0.22/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,4 +1,4 @@
-/hadoop/common/trunk/CHANGES.txt:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk/CHANGES.txt:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.18/CHANGES.txt:727226
/hadoop/core/branches/branch-0.19/CHANGES.txt:713112
/hadoop/core/trunk/CHANGES.txt:776175-785643,785929-786278
Propchange: hadoop/common/branches/branch-0.22/src/docs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,2 +1,2 @@
-/hadoop/common/trunk/src/docs:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk/src/docs:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.19/src/docs:713112
Propchange: hadoop/common/branches/branch-0.22/src/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,3 +1,3 @@
-/hadoop/common/trunk/src/java:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk/src/java:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.19/core/src/java:713112
/hadoop/core/trunk/src/core:776175-785643,785929-786278
Modified: hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/io/MD5Hash.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/io/MD5Hash.java?rev=1126288&r1=1126287&r2=1126288&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/io/MD5Hash.java (original)
+++ hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/io/MD5Hash.java Mon May 23 01:29:01 2011
@@ -98,7 +98,9 @@ public class MD5Hash implements Writable
* Create a thread local MD5 digester
*/
public static MessageDigest getDigester() {
- return DIGESTER_FACTORY.get();
+ MessageDigest digester = DIGESTER_FACTORY.get();
+ digester.reset();
+ return digester;
}
/** Construct a hash value for the content from the InputStream. */
Propchange: hadoop/common/branches/branch-0.22/src/test/core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,3 +1,3 @@
-/hadoop/common/trunk/src/test/core:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk/src/test/core:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.19/core/src/test/core:713112
/hadoop/core/trunk/src/test/core:776175-785643,785929-786278
Modified: hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestMD5Hash.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestMD5Hash.java?rev=1126288&r1=1126287&r2=1126288&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestMD5Hash.java (original)
+++ hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestMD5Hash.java Mon May 23 01:29:01 2011
@@ -20,6 +20,9 @@ package org.apache.hadoop.io;
import org.apache.hadoop.io.TestWritable;
import junit.framework.TestCase;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.security.MessageDigest;
import java.util.Random;
@@ -109,7 +112,38 @@ public class TestMD5Hash extends TestCas
t2.start();
t1.join();
t2.join();
-
}
-
+
+ public void testFactoryReturnsClearedHashes() throws IOException {
+ // A stream that will throw an IOE after reading some bytes
+ ByteArrayInputStream failingStream = new ByteArrayInputStream(
+ "xxxx".getBytes()) {
+ @Override
+ public synchronized int read(byte[] b) throws IOException {
+ int ret = super.read(b);
+ if (ret <= 0) {
+ throw new IOException("Injected fault");
+ }
+ return ret;
+ }
+ };
+ final String TEST_STRING = "hello";
+
+ // Calculate the correct digest for the test string
+ MD5Hash expectedHash = MD5Hash.digest(TEST_STRING);
+
+ // Hashing again should give the same result
+ assertEquals(expectedHash, MD5Hash.digest(TEST_STRING));
+
+ // Try to hash a stream which will fail halfway through
+ try {
+ MD5Hash.digest(failingStream);
+ fail("didnt throw!");
+ } catch (Exception e) {
+ // expected
+ }
+
+ // Make sure we get the same result
+ assertEquals(expectedHash, MD5Hash.digest(TEST_STRING));
+ }
}
Propchange: hadoop/common/branches/branch-0.22/src/test/core/org/apache/hadoop/io/TestSequenceFile.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 23 01:29:01 2011
@@ -1,3 +1,3 @@
-/hadoop/common/trunk/src/test/core/org/apache/hadoop/io/TestSequenceFile.java:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456
+/hadoop/common/trunk/src/test/core/org/apache/hadoop/io/TestSequenceFile.java:1037901,1039952,1040408,1040849,1044490,1050070,1054848,1054853,1054903,1058881,1065858,1070021,1071021,1071084,1080797,1095958,1096522,1100044,1100048,1100056,1102914,1103931,1124456,1126287
/hadoop/core/branches/branch-0.19/mapred/src/test/mapred/org/apache/hadoop/io/TestSequenceFile.java:713112
/hadoop/core/trunk/src/test/mapred/org/apache/hadoop/io/TestSequenceFile.java:776175-785643