Revanth14 opened a new pull request, #2182:
URL: https://github.com/apache/iceberg-go/pull/2182

   ## Problem
   The vended-credential refresher took its renewal expiry from the merged 
config, so the earliest expiry anywhere in the catalog or table config won. An 
unrelated expiry that had already passed, or the first vend's `expiration-time` 
left behind after a renewal without one, made every FileIO load refetch 
credentials and rebuild the IO.
   
   ## Fix
   The refresher keeps the credential it was last vended (resolved at table 
load, then each renewal's) and takes the expiry from it alone, falling back to 
the default TTL. Create, Register, Load and `RefreshTableCredentials` pass that 
credential in. The `adls.token` merge step that dropped every inherited expiry 
is removed, since nothing reads those expiries any more.
   
   ## Behavior change
   A table whose vended credential carries no expiry now renews on the default 
TTL, even if its config carries an expiry from elsewhere.
   
   ## Tests
   - `TestVendedCredsRenewalIgnoresEarlierVendExpiry`: a renewal without an 
expiry gets the default TTL.
   - `TestTableResponseExpiryComesFromVendedCredential`: passed expiries in the 
table config don't trigger refetches after Create, Register or Load.
   - `TestVendedCredsExpiresAtFrom`: new subtest for expiries outside the 
vended credential.
   
   Follow-up from the #2163 review.


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