abstractdog commented on code in PR #3626:
URL: https://github.com/apache/hive/pull/3626#discussion_r1041040101
##########
llap-client/src/java/org/apache/hadoop/hive/llap/tez/LlapProtocolClientProxy.java:
##########
@@ -94,6 +105,35 @@ public void sendUpdateFragment(final
UpdateFragmentRequestProto request, final S
queueRequest(new SendUpdateFragmentCallable(nodeId, request, callback));
}
+ protected void initPeriodicTokenRefresh(Configuration conf) {
+ if (!UserGroupInformation.isSecurityEnabled()) {
+ return;
+ }
+ long tokenRenewInterval =
+ HiveConf.getTimeVar(conf,
ConfVars.LLAP_DELEGATION_TOKEN_RENEW_INTERVAL, TimeUnit.SECONDS);
+ // if the tokenRenewInterval is low (e.g. testing), let's use the half of
it as interval instead of the constant
+ long interval = Math.min(tokenRenewInterval / 2,
LLAP_TOKEN_REFRESH_INTERVAL_IN_AM_SECONDS);
+
+ LOG.info("Initializing periodic token refresh in AM, will run in every
{}s", interval);
+ tokenClient = new LlapTokenClient(conf);
+
+ newTokenChecker.scheduleAtFixedRate(() -> {
+ fetchToken();
+ }, 0, interval, TimeUnit.SECONDS);
+ }
+
+ private synchronized void fetchToken() {
+ LOG.debug("Trying to fetch a new token...");
+ try {
+ Token<LlapTokenIdentifier> newToken =
+ tokenClient.withCurrentToken(new
Token<LlapTokenIdentifier>(token)).getDelegationToken(null);
+ LOG.debug("Received new token: {}, old was: {}", newToken, token);
Review Comment:
yes, it logs only public info about tokens by design, like:
```
token (LLAP_TOKEN; LLAP_TOKEN
owner=hive/[email protected], renewer=hive, realUser=,
issueDate=1663838461176, maxDate=1663838521176, sequenceNumber=18,
masterKeyId=18, cluster hive_compute-hive-lbodor, app ID , signing false)
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]