Repository: samza Updated Branches: refs/heads/master 2b12242c7 -> 2ba6e3480
SAMZA-780 : Exception in thread "Container Allocator Thread" java.lang.ClassCastException: org.apache.hadoop.security.token.Token cannot be cast to org.apache.hadoop.security.token.TokenIdentifier Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/2ba6e348 Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/2ba6e348 Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/2ba6e348 Branch: refs/heads/master Commit: 2ba6e348018a0dc9530a8db8d6a2e83d9df12018 Parents: 2b12242 Author: Michael Martin <[email protected]> Authored: Tue Sep 29 13:31:32 2015 -0700 Committer: Navina <[email protected]> Committed: Tue Sep 29 13:31:42 2015 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/samza/job/yarn/ContainerUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/2ba6e348/samza-yarn/src/main/java/org/apache/samza/job/yarn/ContainerUtil.java ---------------------------------------------------------------------- diff --git a/samza-yarn/src/main/java/org/apache/samza/job/yarn/ContainerUtil.java b/samza-yarn/src/main/java/org/apache/samza/job/yarn/ContainerUtil.java index 2f43501..55dbfea 100644 --- a/samza-yarn/src/main/java/org/apache/samza/job/yarn/ContainerUtil.java +++ b/samza-yarn/src/main/java/org/apache/samza/job/yarn/ContainerUtil.java @@ -23,6 +23,7 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.DataOutputBuffer; import org.apache.hadoop.security.Credentials; import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.security.token.Token; import org.apache.hadoop.security.token.TokenIdentifier; import org.apache.hadoop.yarn.api.ApplicationConstants; import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest; @@ -168,7 +169,7 @@ public class ContainerUtil { // now remove the AM->RM token so that containers cannot access it Iterator iter = credentials.getAllTokens().iterator(); while (iter.hasNext()) { - TokenIdentifier token = (TokenIdentifier) iter.next(); + TokenIdentifier token = ((Token) iter.next()).decodeIdentifier(); if (token.getKind().equals(AMRMTokenIdentifier.KIND_NAME)) { iter.remove(); }
