Browse Source

HDFS-496. Use PureJavaCrc32 in HDFS. Contributed by Todd Lipcon

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hdfs/trunk@799688 13f79535-47bb-0310-9956-ffa450edef68
Tsz-wo Sze 16 years ago
parent
commit
89f9717258

+ 2 - 0
CHANGES.txt

@@ -63,6 +63,8 @@ Trunk (unreleased changes)
     HDFS-514. Change DFSClient.namenode from public to private.  (Bill Zeller
     HDFS-514. Change DFSClient.namenode from public to private.  (Bill Zeller
     via szetszwo)
     via szetszwo)
 
 
+    HDFS-496. Use PureJavaCrc32 in HDFS.  (Todd Lipcon via szetszwo)
+
   BUG FIXES
   BUG FIXES
     HDFS-76. Better error message to users when commands fail because of 
     HDFS-76. Better error message to users when commands fail because of 
     lack of quota. Allow quota to be set even if the limit is lower than
     lack of quota. Allow quota to be set even if the limit is lower than

+ 2 - 2
src/java/org/apache/hadoop/hdfs/DFSClient.java

@@ -50,7 +50,6 @@ import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.zip.CRC32;
 
 
 import javax.net.SocketFactory;
 import javax.net.SocketFactory;
 import javax.security.auth.login.LoginException;
 import javax.security.auth.login.LoginException;
@@ -110,6 +109,7 @@ import org.apache.hadoop.security.UnixUserGroupInformation;
 import org.apache.hadoop.util.Daemon;
 import org.apache.hadoop.util.Daemon;
 import org.apache.hadoop.util.DataChecksum;
 import org.apache.hadoop.util.DataChecksum;
 import org.apache.hadoop.util.Progressable;
 import org.apache.hadoop.util.Progressable;
+import org.apache.hadoop.util.PureJavaCrc32;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.hadoop.util.StringUtils;
 
 
 /********************************************************
 /********************************************************
@@ -2983,7 +2983,7 @@ public class DFSClient implements FSConstants, java.io.Closeable {
 
 
     private DFSOutputStream(String src, long blockSize, Progressable progress,
     private DFSOutputStream(String src, long blockSize, Progressable progress,
         int bytesPerChecksum) throws IOException {
         int bytesPerChecksum) throws IOException {
-      super(new CRC32(), bytesPerChecksum, 4);
+      super(new PureJavaCrc32(), bytesPerChecksum, 4);
       this.src = src;
       this.src = src;
       this.blockSize = blockSize;
       this.blockSize = blockSize;
       this.progress = progress;
       this.progress = progress;

+ 2 - 2
src/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java

@@ -29,7 +29,6 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
 import java.nio.ByteBuffer;
 import java.util.LinkedList;
 import java.util.LinkedList;
-import java.util.zip.CRC32;
 import java.util.zip.Checksum;
 import java.util.zip.Checksum;
 
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.Log;
@@ -44,6 +43,7 @@ import org.apache.hadoop.hdfs.protocol.DataTransferProtocol.Status;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.util.Daemon;
 import org.apache.hadoop.util.Daemon;
 import org.apache.hadoop.util.DataChecksum;
 import org.apache.hadoop.util.DataChecksum;
+import org.apache.hadoop.util.PureJavaCrc32;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.hadoop.util.StringUtils;
 
 
 /** A class that receives a block and writes to its own disk, meanwhile
 /** A class that receives a block and writes to its own disk, meanwhile
@@ -676,7 +676,7 @@ class BlockReceiver implements java.io.Closeable, FSConstants {
     }
     }
 
 
     // compute crc of partial chunk from data read in the block file.
     // compute crc of partial chunk from data read in the block file.
-    partialCrc = new CRC32();
+    partialCrc = new PureJavaCrc32();
     partialCrc.update(buf, 0, sizePartialChunk);
     partialCrc.update(buf, 0, sizePartialChunk);
     LOG.info("Read in partial CRC chunk from disk for block " + block);
     LOG.info("Read in partial CRC chunk from disk for block " + block);