Revanth14 opened a new pull request, #2174: URL: https://github.com/apache/iceberg-go/pull/2174
### Problem `prefixScopedIO` caches one filesystem per `credentialIndex:scheme://host`, but `url.URL.Host` excludes the `container@` userinfo, and an Azure IO is bound to a single `container@host` authority. Two containers in the same account therefore share a cached IO, and reads from the second fail with `ErrUnsupportedObjectAuthority`. This happens both when one plan credential covers both containers and when no credential matches either. ### Fix The cache key now includes the userinfo, so it names the same authority the Azure IO is bound to. S3 and GCS locations have no userinfo, so their keys are unchanged. ### Testing `TestPrefixScopedIOKeysFilesystemsByContainer` fails on main (one filesystem is opened for both containers) and passes with the fix. ### Context Found while reviewing #2163. -- 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]
