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]

Reply via email to