jaideeppyne opened a new pull request, #3976: URL: https://github.com/apache/iceberg-python/pull/3976
# Rationale for this change `RestCatalog.commit_table` assigned into `self._session.headers`, which is the session's own mapping. A table-scoped token then stuck on the catalog session for later requests. Session.auth would also overwrite a per-request `Authorization` header with the catalog token, so the table token is applied through a request-local auth callable and the session headers are left unchanged. A second, related leak: fsspec caches `S3FileSystem` instances by constructor kwargs. Custom S3 signers are registered after construction under a fixed event id, so a second catalog with the same client kwargs replaced the first catalog's signer. `skip_instance_cache` is set when a signer is in use. Closes #3970 ## Are these changes tested? Unit tests in `tests/catalog/test_rest.py` and `tests/io/test_fsspec.py`. ## Are there any user-facing changes? Bug fix. Catalog sessions no longer retain a table-scoped token after `commit_table`. FileIO instances with custom S3 signers are no longer shared across catalogs via fsspec's instance cache. -- 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]
