[ https://issues.apache.org/jira/browse/HDFS-5843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887748#comment-13887748 ]
Hudson commented on HDFS-5843: ------------------------------ SUCCESS: Integrated in Hadoop-Hdfs-trunk #1659 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/1659/]) HDFS-5843. DFSClient.getFileChecksum() throws IOException if checksum is disabled. Contributed by Laurent Goujon. (jing9: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1562927) * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java * /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestFSOutputSummer.java > DFSClient.getFileChecksum() throws IOException if checksum is disabled > ---------------------------------------------------------------------- > > Key: HDFS-5843 > URL: https://issues.apache.org/jira/browse/HDFS-5843 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode > Reporter: Laurent Goujon > Assignee: Laurent Goujon > Fix For: 2.4.0 > > Attachments: hdfs-5843.patch > > > If a file is created with checksum disabled (using {{ChecksumOpt.disabled()}} > for example), calling {{FileSystem.getFileChecksum()}} throws the following > IOException: > {noformat} > java.io.IOException: Fail to get block MD5 for > BP-341493254-192.168.1.10-1390888724459:blk_1073741825_1001 > at org.apache.hadoop.hdfs.DFSClient.getFileChecksum(DFSClient.java:1965) > at org.apache.hadoop.hdfs.DFSClient.getFileChecksum(DFSClient.java:1771) > at > org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1186) > at > org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.getFileChecksum(DistributedFileSystem.java:1194) > [...] > {noformat} > From the logs, the datanode is doing some wrong arithmetics because of the > crcPerBlock: > {noformat} > 2014-01-27 21:58:46,329 ERROR datanode.DataNode (DataXceiver.java:run(225)) - > 127.0.0.1:52398:DataXceiver error processing BLOCK_CHECKSUM operation src: > /127.0.0.1:52407 dest: /127.0.0.1:52398 > java.lang.ArithmeticException: / by zero > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.blockChecksum(DataXceiver.java:658) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opBlockChecksum(Receiver.java:169) > at > org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:77) > at > org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:221) > at java.lang.Thread.run(Thread.java:695) > {noformat} -- This message was sent by Atlassian JIRA (v6.1.5#6160)