singhpk234 opened a new pull request, #13716:
URL: https://github.com/apache/iceberg/pull/13716

   ### About the change 
   
   Credentials refresh is a big pain when using long running jobs, what this 
means is credentials vended by table during the load table can expire and in 
this situation the credentials needs to be refreshed otherwise the whole job 
fails. 
   
   A lot of work has been done in past to enable refresh by introducing a 
credentials endpoint and attaching a credential provider which can talk to this 
endpoint and fetch new credentials when this is closer to expiration, these can 
be configured presently by : 
   client.refresh-credentials-endpoint and client.refresh-credentials-enabled 
catalog configuration 
   
   One important issue here is that the credentials endpoint is that its table 
scoped 
   
   ```
    public static final String V1_TABLE_CREDENTIALS =
         "/v1/{prefix}/namespaces/{namespace}/tables/{table}/credentials";
   ```
   
   what this means is client side even though it can override / configure but 
it can only configure it one table at a time so if a job references more than 
one table, then this would mean other table would fail. 
   
   Now an argument can be made can this property be returned by catalog as part 
of loadTable call, well it can but the prefix that the client would be using 
its not something a service would be aware of never the less this is more or 
less a fixed url, rather than a dynamically generated url
   
   So based on my understanding, if the catalog supports /creds endpoint which 
it indicates in the /config call and the  client side configuration says 
refresh the creds via catalog prop then before making the table file io one can 
just create the endpoint for refresh and pass it to fileIO to make sure a 
credential provider is initialized to make e2e refresh work. 
   
   
   
   
   ### Testing 
   
   Pending 
   


-- 
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]

Reply via email to