You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "eric baldeschwieler (JIRA)" <ji...@apache.org> on 2006/06/29 06:52:30 UTC

[jira] Commented: (HADOOP-324) "IOException: No space left on device" is handled incorrectly

    [ http://issues.apache.org/jira/browse/HADOOP-324?page=comments#action_12418384 ] 

eric baldeschwieler commented on HADOOP-324:
--------------------------------------------

Perhaps the datanode should behave as if any assigned incomplete (IE write locked) block is expect to become full size and only allow new blocks if it has enough space considering all currently locked blocks?

As part of its heart beat it and block creation ack it could report if it is ready to take another block.

We should be able to configure an amount of working space to be left on each device with a home directory too...  Is this currently handled?

> "IOException: No space left on device" is handled incorrectly
> -------------------------------------------------------------
>
>          Key: HADOOP-324
>          URL: http://issues.apache.org/jira/browse/HADOOP-324
>      Project: Hadoop
>         Type: Bug

>     Versions: 0.3.2
>     Reporter: Konstantin Shvachko

>
> When a data node disk is almost full the name node still assigns blocks to the data node.
> By the time the data node actually tries to write that data to disk the disk may become full.
> Current implementation forces the data node to shutdown after that.
> The expected behavior is to report the block write failure and continue.
> The Exception looks as follows:
> java.io.IOException: No space left on device
> at java.io.FileOutputStream.writeBytes(Native Method)
> at java.io.FileOutputStream.write(FileOutputStream.java:260)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
> at java.io.DataOutputStream.write(DataOutputStream.java:90)
> at org.apache.hadoop.dfs.DataNode$DataXceiver.writeBlock(DataNode.java:623)
> at org.apache.hadoop.dfs.DataNode$DataXceiver.run(DataNode.java:410)
> at java.lang.Thread.run(Thread.java:595)
> 2006-06-26 08:26:04,751 INFO org.apache.hadoop.dfs.DataNode: Finishing DataNode in: /tmp/hadoop/dfs/data/data

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira