diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java index 7f32a56c38..6132f83efe 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java @@ -306,6 +306,7 @@ private void waitFor(int waitTime) throws IOException { try { Thread.sleep(waitTime); } catch (InterruptedException e) { + Thread.currentThread().interrupt(); throw new InterruptedIOException( "Interrupted while getting the last block length."); } @@ -417,6 +418,7 @@ private long readBlockLength(LocatedBlock locatedblock) throws IOException { try { Thread.sleep(500); // delay between retries. } catch (InterruptedException e) { + Thread.currentThread().interrupt(); throw new InterruptedIOException( "Interrupted while getting the length."); } @@ -1063,6 +1065,7 @@ private DNAddrPair chooseDataNode(LocatedBlock block, " IOException, will wait for " + waitTime + " msec."); Thread.sleep((long)waitTime); } catch (InterruptedException e) { + Thread.currentThread().interrupt(); throw new InterruptedIOException( "Interrupted while choosing DataNode for read."); }