Browse Source

YARN-5048. DelegationTokenRenewer#skipTokenRenewal may throw NPE (Jian He via Yongjun Zhang)

(cherry picked from commit 47c41e7ac7e6b905a58550f8899f629c1cf8b138)
Yongjun Zhang 9 năm trước cách đây
mục cha
commit
5172d0e7b1

+ 7 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java

@@ -539,9 +539,14 @@ public class DelegationTokenRenewer extends AbstractService {
    */
   private boolean skipTokenRenewal(Token<?> token)
       throws IOException {
+
     @SuppressWarnings("unchecked")
-    Text renewer = ((Token<AbstractDelegationTokenIdentifier>)token).
-        decodeIdentifier().getRenewer();
+    AbstractDelegationTokenIdentifier identifier =
+        ((Token<AbstractDelegationTokenIdentifier>) token).decodeIdentifier();
+    if (identifier == null) {
+      return false;
+    }
+    Text renewer = identifier.getRenewer();
     return (renewer != null && renewer.toString().equals(""));
   }