Просмотр исходного кода

HADOOP-12074. in Shell.java#runCommand() rethrow InterruptedException as InterruptedIOException (Contributed by Lavkesh Lahngir)

(cherry picked from commit 95c73d49b1bb459b626a9ac52acadb8f5fa724de)
Vinayakumar B 10 лет назад
Родитель
Сommit
7454ed2b59

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -362,6 +362,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-7817. RawLocalFileSystem.append() should give FSDataOutputStream
     with accurate .getPos() (kanaka kumar avvaru via vinayakumarb)
 
+    HADOOP-12074. in Shell.java#runCommand() rethrow InterruptedException as
+    InterruptedIOException (Lavkesh Lahngir via vinayakumarb)
+
 Release 2.7.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 4 - 1
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java

@@ -22,6 +22,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.InputStream;
+import java.io.InterruptedIOException;
 import java.nio.charset.Charset;
 import java.util.Arrays;
 import java.util.Map;
@@ -554,7 +555,9 @@ abstract public class Shell {
         throw new ExitCodeException(exitCode, errMsg.toString());
       }
     } catch (InterruptedException ie) {
-      throw new IOException(ie.toString());
+      InterruptedIOException iie = new InterruptedIOException(ie.toString());
+      iie.initCause(ie);
+      throw iie;
     } finally {
       if (timeOutTimer != null) {
         timeOutTimer.cancel();