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 om...@apache.org on 2011/03/08 05:36:30 UTC
svn commit: r1079111 - in /hadoop/common/branches/yahoo-merge: CHANGES.txt
src/java/org/apache/hadoop/io/MD5Hash.java
Author: omalley
Date: Tue Mar 8 04:36:29 2011
New Revision: 1079111
URL: http://svn.apache.org/viewvc?rev=1079111&view=rev
Log:
commit f4e268a58b63255098b80aca5c578995237432cc
Author: Hairong Kuang <ha...@apache.org>
Date: Thu Oct 28 18:49:39 2010 +0000
HADOOP-7009. MD5Hash provides a public factory method that creates an instance of MessageDigest. Contributed by Hairong Kuang.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1028427 13f79535-47bb-0310-9956-ffa450edef68
Modified:
hadoop/common/branches/yahoo-merge/CHANGES.txt
hadoop/common/branches/yahoo-merge/src/java/org/apache/hadoop/io/MD5Hash.java
Modified: hadoop/common/branches/yahoo-merge/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/CHANGES.txt?rev=1079111&r1=1079110&r2=1079111&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/CHANGES.txt (original)
+++ hadoop/common/branches/yahoo-merge/CHANGES.txt Tue Mar 8 04:36:29 2011
@@ -157,6 +157,9 @@ Trunk (unreleased changes)
HADOOP-7010. Typo in FileSystem.java. (Jingguo Yao via eli)
+ HADOOP-7009. MD5Hash provides a public factory method that creates an
+ instance of thread local MessageDigest. (hairong)
+
OPTIMIZATIONS
HADOOP-6884. Add LOG.isDebugEnabled() guard for each LOG.debug(..).
Modified: hadoop/common/branches/yahoo-merge/src/java/org/apache/hadoop/io/MD5Hash.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/src/java/org/apache/hadoop/io/MD5Hash.java?rev=1079111&r1=1079110&r2=1079111&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/src/java/org/apache/hadoop/io/MD5Hash.java (original)
+++ hadoop/common/branches/yahoo-merge/src/java/org/apache/hadoop/io/MD5Hash.java Tue Mar 8 04:36:29 2011
@@ -94,11 +94,18 @@ public class MD5Hash implements Writable
return digest(data, 0, data.length);
}
+ /**
+ * Create a thread local MD5 digester
+ */
+ public static MessageDigest getDigester() {
+ return DIGESTER_FACTORY.get();
+ }
+
/** Construct a hash value for the content from the InputStream. */
public static MD5Hash digest(InputStream in) throws IOException {
final byte[] buffer = new byte[4*1024];
- final MessageDigest digester = DIGESTER_FACTORY.get();
+ final MessageDigest digester = getDigester();
for(int n; (n = in.read(buffer)) != -1; ) {
digester.update(buffer, 0, n);
}
@@ -109,7 +116,7 @@ public class MD5Hash implements Writable
/** Construct a hash value for a byte array. */
public static MD5Hash digest(byte[] data, int start, int len) {
byte[] digest;
- MessageDigest digester = DIGESTER_FACTORY.get();
+ MessageDigest digester = getDigester();
digester.update(data, start, len);
digest = digester.digest();
return new MD5Hash(digest);