fs -put crash that depends on source file name
----------------------------------------------
Key: HDFS-1768
URL: https://issues.apache.org/jira/browse/HDFS-1768
Project: Hadoop HDFS
Issue Type: Bug
Components: hdfs client, name-node
Affects Versions: 0.20.2
Environment: Cloudera CDH3B4 in pseudo mode on a Linux
2.6.32-28-generic #55-Ubuntu SMP x86_64 kernel, with Java HotSpot64-Bit Server
VM (build 19.1-b02, mixed mode)
Reporter: Lars Ailo Bongo
Priority: Minor
I have a unit test that includes writing a file to HDFS using
copyFromLocalFile. Sometimes the function fails due to a checksum error. Once
the issue has occurred "hadoop -put <filename> <anywhere>" also fails as long
as the filename is the same as used in the unit test. The error is due to the
file content never being sent to the DataNode, hence the file is size zero.
The error is not due to the file content. The error does not depend on the HDFS
destination name. Restarting the NameNode and DataNode does not resolve the
issue. I have not been able to reproduce the error with a simple program. I
have also not tested the issue in distributed or standalone mode.
The only "fix" is to change the source filename.
Below is error and the NameNode log. There is no entry for this operation in
the DataNode log.
/home/larsab/troilkatt2/test-tmp/data>hadoop fs -put status-test.txt
status-test.txt3
11/03/18 16:59:54 INFO fs.FSInputChecker: Found checksum error: b[512,
968]=3a646f6e650a323a7365636f6e6453746167653a73746172740a323a7365636f6e6453746167653a646f6e650a323a746869726453746167653a73746172740a323a746869726453746167653a646f6e650a323a74686553696e6b3a73746172740a323a74686553696e6b3a646f6e650a323a54726f696c6b6174743a646f6e650a333a54726f696c6b6174743a73746172740a333a746865536f757263653a73746172740a333a746865536f757263653a646f6e650a333a666972737453746167653a73746172740a333a666972737453746167653a646f6e650a333a7365636f6e6453746167653a73746172740a333a7365636f6e6453746167653a646f6e650a333a746869726453746167653a73746172740a333a746869726453746167653a646f6e650a333a74686553696e6b3a73746172740a333a74686553696e6b3a646f6e650a333a54726f696c6b6174743a646f6e650a343a54726f696c6b6174743a73746172740a343a746865536f757263653a73746172740a343a746865536f757263653a646f6e650a343a666972737453746167653a73746172740a343a666972737453746167653a646f6e650a343a7365636f6e6453746167653a7265636f7665720a
org.apache.hadoop.fs.ChecksumException: Checksum error: status-test.txt at 512
at
org.apache.hadoop.fs.FSInputChecker.verifySum(FSInputChecker.java:277)
at
org.apache.hadoop.fs.FSInputChecker.readChecksumChunk(FSInputChecker.java:241)
at org.apache.hadoop.fs.FSInputChecker.read1(FSInputChecker.java:189)
at org.apache.hadoop.fs.FSInputChecker.read(FSInputChecker.java:158)
at java.io.DataInputStream.read(DataInputStream.java:83)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:49)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:87)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:224)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:170)
at
org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1283)
at org.apache.hadoop.fs.FsShell.copyFromLocal(FsShell.java:134)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:1817)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.hadoop.fs.FsShell.main(FsShell.java:1960)
put: Checksum error: status-test.txt at 512
NAMENODE
2011-03-18 16:59:54,422 INFO
org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Number of transactions: 13
Total time for transactions(ms): 1Number of transactions batched in Syncs: 0
Number of syncs: 7 SyncTimes(ms): 220
2011-03-18 16:59:54,444 INFO
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit: ugi=larsab
ip=/127.0.0.1 cmd=create src=/user/larsab/status-test.txt3
dst=null perm=larsab:supergroup:rw-r--r--
2011-03-18 16:59:54,469 INFO org.apache.hadoop.hdfs.StateChange: Removing lease
on file /user/larsab/status-test.txt3 from client DFSClient_-1004170418
2011-03-18 16:59:54,469 INFO org.apache.hadoop.hdfs.StateChange: DIR*
NameSystem.completeFile: file /user/larsab/status-test.txt3 is closed by
DFSClient_-1004170418
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira