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

Colin Patrick McCabe commented on HDFS-6877:
--------------------------------------------

{code}
1231            try {
1232                  finalizeBlock(startTime);
1233                } catch (ReplicaNotFoundException e) {
1234                  // ReplicaInfo has been removed due to the corresponding 
data
1235                  // volume has been removed. Don't need to check disk 
error.
1236                  LOG.info(myString + ": BlockReceiver is interrupted 
because the" +
1237                      " volume is removed.", e);
1238                  sendAckUpstream(ack, expected, totalAckTimeNanos, 0,
1239                      Status.OOB_INTERRUPTED);
1240                  running = false;
1241                  receiverThread.interrupt();
1242                  continue;
1243                }
{code}

I think we need to actually check that the volume was removed.  All the 
exception tells us is that the replica info wasn't found.  Although this may be 
adequate for now, it seems fragile to depend on this.  This would also make me 
feel better about logging a message saying that the volume was removed (and we 
could include the volume name).

> Avoid calling checkDisk when an HDFS volume is removed during a write.
> ----------------------------------------------------------------------
>
>                 Key: HDFS-6877
>                 URL: https://issues.apache.org/jira/browse/HDFS-6877
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: 2.5.0
>            Reporter: Lei (Eddy) Xu
>            Assignee: Lei (Eddy) Xu
>         Attachments: HDFS-6877.000.consolidate.txt, 
> HDFS-6877.000.delta-HDFS-6727.txt, HDFS-6877.001.combo.txt, 
> HDFS-6877.001.patch, HDFS-6877.002.patch, HDFS-6877.003.patch, 
> HDFS-6877.004.patch, HDFS-6877.005.patch, HDFS-6877.006.patch
>
>
> Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
> volume is removed during a write.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to