diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java index af68492..1af7cd5 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java @@ -439,6 +439,7 @@ public Object run() throws IOException { UserGroupInformation callerUGI = isProxyAccess ? UserGroupInformation.getCurrentUser().getRealUser() : UserGroupInformation.getCurrentUser(); + callerUGI.checkTGTAndReloginFromKeytab(); try { return callerUGI.doAs(action); } catch (UndeclaredThrowableException e) { @@ -488,6 +489,7 @@ public HttpURLConnection getHttpURLConnection(final URL url) throws IOException : UserGroupInformation.getCurrentUser(); final String doAsUser = isProxyAccess ? UserGroupInformation.getCurrentUser().getShortUserName() : null; + callerUGI.checkTGTAndReloginFromKeytab(); try { return callerUGI.doAs(new PrivilegedExceptionAction() { @Override @@ -613,8 +615,12 @@ private static void putTimelineDataInJSONFile(String path, String type) { Token token = client.getDelegationToken( UserGroupInformation.getCurrentUser().getUserName()); - UserGroupInformation.getCurrentUser().addToken(token); + //UserGroupInformation.getCurrentUser().addToken(token); + Thread.sleep(100000); + client.renewDelegationToken(token); + client.cancelDelegationToken(token); } + Thread.sleep(100000); if (type.equals(ENTITY_DATA_TYPE)) { TimelinePutResponse response = client.putEntities( entities.getEntities().toArray(