steveloughran commented on a change in pull request #1872: Hadoop 16890: Change in expiry calculation for MSI token provider URL: https://github.com/apache/hadoop/pull/1872#discussion_r389574936
########## File path: hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/oauth2/AzureADAuthenticator.java ########## @@ -408,17 +409,30 @@ private static AzureADToken parseTokenFromStream(InputStream httpResponseStream) if (fieldName.equals("access_token")) { token.setAccessToken(fieldValue); } + if (fieldName.equals("expires_in")) { - expiryPeriod = Integer.parseInt(fieldValue); + expiryPeriodInSecs = Integer.parseInt(fieldValue); + } + + if (fieldName.equals("expires_on")) { + expiresOnInSecs = Long.parseLong(fieldValue); } + } jp.nextToken(); } jp.close(); - long expiry = System.currentTimeMillis(); - expiry = expiry + expiryPeriod * 1000L; // convert expiryPeriod to milliseconds and add - token.setExpiry(new Date(expiry)); - LOG.debug("AADToken: fetched token with expiry " + token.getExpiry().toString()); + if (expiresOnInSecs > 0) { + token.setExpiry(new Date(expiresOnInSecs * 1000)); + } else { + long expiry = System.currentTimeMillis(); + expiry = expiry + expiryPeriodInSecs + * 1000L; // convert expiryPeriod to milliseconds and add Review comment: put expiryPeriod and * 1000 on same line. Also, feel free to use the new java time classes which are complex but powerful once you start to use them ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org