nastra commented on code in PR #6837:
URL: https://github.com/apache/iceberg/pull/6837#discussion_r1125419538


##########
core/src/main/java/org/apache/iceberg/rest/auth/OAuth2Util.java:
##########
@@ -355,62 +357,52 @@ public static class AuthSession {
     private static final long MAX_REFRESH_WINDOW_MILLIS = 300_000; // 5 minutes
     private static final long MIN_REFRESH_WAIT_MILLIS = 10;
     private volatile Map<String, String> headers;
-    private volatile String token;
-    private volatile String tokenType;
-    private volatile Long expiresAtMillis;
-    private final String credential;
-    private final String scope;
-    private volatile boolean keepRefreshed = true;
+    private volatile AuthConfig config;
 
     /**
-     * @deprecated will be removed in 1.3.0; use {@link 
AuthSession#AuthSession(Map, String, String,
-     *     String, String)} instead.
+     * @deprecated will be removed in 1.3.0; use {@link 
AuthSession#AuthSession(Map, AuthConfig)}
+     *     instead.
      */
     @Deprecated
     public AuthSession(Map<String, String> baseHeaders, String token, String 
tokenType) {
-      this(baseHeaders, token, tokenType, null, 
OAuth2Properties.CATALOG_SCOPE);
+      this(baseHeaders, 
ImmutableAuthConfig.builder().token(token).tokenType(tokenType).build());

Review Comment:
   > I also don't think it makes code more readable to introduce an additional 
AuthConfig interface and implementation.
   
   It's not only about making the code readable, but to have an easier way to 
reason about it.
   
   > It seems better to me to not start a refresh thread and to then skip 
refreshing
   
   Sorry, I didn't realize that this was a concern. I think we could have 
easily avoided that in the version of the code with the `AuthConfig`.
   
   So while I still think the version with the `AuthConfig` is cleaner to 
manage in the long run, I have pushed a version of the code that just passes a 
null executor to indicate no token refresh scheduling.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to