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

Kihwal Lee commented on HDFS-6569:
----------------------------------

The patch looks good in general. There are a couple of things that can be 
improved though.
- Serial transmission of OOB. One bad client may block this and prevent the 
message from being sent to the rest of "good" clients.  Unless a new thread is 
created (during shutdown!) to send an OOB ack asynchrously, the blocking 
ack.readFields() call needs to be changed in order to delegate the message 
transmission to the responder thread.  I believe this is beyond the scope of 
this jira. I suggest filing a new jira for improving this.
- Shutdown OOB can be sent twice. This does not affect the correctness, but DN 
log can become a bit messy. We can make it skip the OOB sending on interrupt, 
if it was already sent. If you want to address this in a separate jira, that is 
fine, since it is a minor issue.

> OOB message can't be sent to the client when DataNode shuts down for upgrade
> ----------------------------------------------------------------------------
>
>                 Key: HDFS-6569
>                 URL: https://issues.apache.org/jira/browse/HDFS-6569
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 3.0.0, 2.4.0
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>         Attachments: HDFS-6569.001.patch, HDFS-6569.002.patch, 
> test-hdfs-6569.patch
>
>
> The socket is closed too early before the OOB message can be sent to client, 
> which causes the write pipeline failure.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to