hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dhruba borthakur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-3033) Datanode fails write to DFS file with exception message "Trying to change block file offset"
Date Tue, 18 Mar 2008 05:01:25 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-3033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579723#action_12579723
] 

dhruba borthakur commented on HADOOP-3033:
------------------------------------------

I think I have a possible explanation of this behaviour... it is a race between a flush and
setChannelPosition. The BufferedOutputStream.flush and BufferedOutputStream.write are mutually
exclusive, but there is no guarantee that there is any mutual exclusion between a BufferedOutputStream.flush
and setChannelPosition.

The BlockReceiver thread must be in the executing a getChannelPosition/setChannelPosition
while processing the current packet. However, the previous packet that was sitting in the
buffer of the BufferedOutputSteam is being concurrently flushed by the PacketResponder thread.


> Datanode fails write to DFS file with exception message "Trying to change block file
offset"
> --------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-3033
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3033
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.16.1
>            Reporter: dhruba borthakur
>            Assignee: dhruba borthakur
>         Attachments: badnode.patch
>
>
> A write to a DFS block failed with the lastdatanode in the pipeline reporting this error:
> Receiving block blk_-7279084187433655573 src: /xx.xx.xx.xx:xx dest: /xx.xx.xx.xx:50010
> Changing block file offset of block blk_-7279084187433655573 from 9043968 to 9043968
meta file offset to 70663
> Changing block file offset of block blk_-7279084187433655573 from 111935488 to 112001024
meta file offset to 875015
> Exception in receiveBlock for block blk_-7279084187433655573 java.io.IOException: Trying
to change block file offset of block blk_-7279084187433655573 to 112001024 but actual size
of file is 111935488
> PacketResponder 0 for block blk_-7279084187433655573 Interrupted.
> PacketResponder 0 for block blk_-7279084187433655573 terminating
> writeBlock blk_-7279084187433655573 received exception java.io.IOException: Trying to
change block file offset of block blk_-7279084187433655573 to 112001024 but actual size of
file is 111935488
> DataXceiver: java.io.IOException: Trying to change block file offset of block blk_-7279084187433655573
to 112001024 but actual size of file is 111935488

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message