[ 
https://issues.apache.org/jira/browse/HDFS-3548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13400067#comment-13400067
 ] 

Eli Collins commented on HDFS-3548:
-----------------------------------

Looks good.  I'd go one step further to prevent similar situations (we have 
duplicate methods, see HDFS-3015, and only copy gets the fix) and (1) nuke the 
bestNode method here and use the version from jspHelper, and then (2) move 
copyBlock here to a util class and structure it similarly to  
streamBlockInAscii (eg bestNode already handles the connect timeout so we don't 
need to duplicate that logic in copyBlock).

Style nits:
- s/"corrupted file"/"corrupt file"
- "catch(Ex" needs a space
- Seems like "Fsck: copied the remains of the corrupted file" should be INFO 
instead of WARN
                
> NamenodeFsck.copyBlock fails to create a Block Reader
> -----------------------------------------------------
>
>                 Key: HDFS-3548
>                 URL: https://issues.apache.org/jira/browse/HDFS-3548
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.23.1, 2.0.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Colin Patrick McCabe
>            Priority: Critical
>         Attachments: HDFS-3548.001.patch
>
>
> NamenodeFsck.copyBlock creates a Socket using {{new Socket()}}, and thus that 
> socket doesn't have an associated Channel. Then, it fails to create a 
> BlockReader since RemoteBlockReader2 needs a socket channel.
> (thanks to Hiroshi Yokoi for reporting)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to