If DataNode gets killed after 'data.dir' is created, but before LAYOUTVERSION 
is written to the storage file. The further restarts of the DataNode, an 
EOFException will be thrown while reading the storage file. 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: HDFS-1887
                 URL: https://issues.apache.org/jira/browse/HDFS-1887
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: data-node
    Affects Versions: 0.21.0, 0.20.1, 0.23.0
         Environment: Linux
            Reporter: sravankorumilli
            Priority: Minor


Assume DataNode gets killed after 'data.dir' is created, but before 
LAYOUTVERSION is written to the storage file. The further restarts of the 
DataNode, an EOFException will be thrown while reading the storage file. The 
DataNode cannot be restarted successfully until the 'data.dir' is deleted.

These are the corresponding logs:-
2011-05-02 19:12:19,389 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: 
java.io.EOFException
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
at 
org.apache.hadoop.hdfs.server.datanode.DataStorage.isConversionNeeded(DataStorage.java:203)
at 
org.apache.hadoop.hdfs.server.common.Storage.checkConversionNeeded(Storage.java:697)
at org.apache.hadoop.hdfs.server.common.Storage.access$000(Storage.java:62)
at 
org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:476)
at 
org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:116)
at 
org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:336)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:260)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:237)
at 
org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1440)
at 
org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1393)
at 
org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1407)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1552)

Our Hadoop cluster is managed by a cluster management software which tries to 
eliminate any manual intervention in setting up & managing the cluster. But in 
the above mentioned scenario, it requires manual intervention to recover the 
DataNode.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to