[ 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)