Parcourir la source

HADOOP-12284. UserGroupInformation doAs can throw misleading exception (Aaron Dosset via stevel)

Steve Loughran il y a 9 ans
Parent
commit
fa3e774295

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

@@ -617,6 +617,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-11098. [JDK8] Max Non Heap Memory default changed between JDK7
     and 8. (ozawa)
 
+    HADOOP-12284. UserGroupInformation doAs can throw misleading exception
+    (Aaron Dosset via stevel)
+
   OPTIMIZATIONS
 
     HADOOP-12051. ProtobufRpcEngine.invoke() should use Exception.toString()

+ 4 - 1
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java

@@ -1658,7 +1658,10 @@ public class UserGroupInformation {
       if (LOG.isDebugEnabled()) {
         LOG.debug("PrivilegedActionException as:" + this + " cause:" + cause);
       }
-      if (cause instanceof IOException) {
+      if (cause == null) {
+        throw new RuntimeException("PrivilegedActionException with no " +
+                "underlying cause. UGI [" + this + "]", pae);
+      } else if (cause instanceof IOException) {
         throw (IOException) cause;
       } else if (cause instanceof Error) {
         throw (Error) cause;