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]
