chinnaraolalam commented on code in PR #5303: URL: https://github.com/apache/hive/pull/5303#discussion_r1670285383
########## standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/security/TokenStoreDelegationTokenSecretManager.java: ########## @@ -238,20 +248,33 @@ public synchronized void stopThreads() { */ protected void removeExpiredTokens() { long now = System.currentTimeMillis(); - Iterator<DelegationTokenIdentifier> i = tokenStore.getAllDelegationTokenIdentifiers() - .iterator(); - while (i.hasNext()) { - DelegationTokenIdentifier id = i.next(); + for (DelegationTokenIdentifier id : tokenStore.getAllDelegationTokenIdentifiers()) { if (now > id.getMaxDate()) { + LOGGER.info("Expiry Thread removing expired token: " + id); this.tokenStore.removeToken(id); // no need to look at token info } else { // get token info to check renew date - DelegationTokenInformation tokenInfo = tokenStore.getToken(id); - if (tokenInfo != null) { - if (now > tokenInfo.getRenewDate()) { - this.tokenStore.removeToken(id); - } + renewIfRequired(now, id, tokenStore.getToken(id)); Review Comment: Renewal is needed here?, we can only remove expired tokens here and when ever token is accessed there we can check renewal is needed and renew only that token. If feel here we are going through all the tokens and unexpired tokens are renewed if needed and default value of expired thread interval is 15min. While renewing the token if it throws exception it will stop here and it will not check other expired tokens -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org