akashchamp opened a new pull request, #3951:
URL: https://github.com/apache/iceberg-python/pull/3951

   Closes #3932
   
   # Rationale for this change
   
   Table properties can name implementation classes that are imported and 
instantiated. Those values can come from table metadata, so loading an 
arbitrary importable class can pass table properties to an unrelated 
constructor. Each loader now verifies the expected base class before 
instantiation.
   
   ## Are these changes tested?
   
   - Seven focused regression tests and the three affected unit-test files: 232 
passed, 7 skipped, 52 deselected.
   - `make lint` passed.
   - Manual property-driven validation loaded valid custom `FileIO`, 
`LocationProvider`, and `S3RetryStrategy` implementations, then confirmed that 
a wrong-but-importable class was rejected in each path.
   - `make test` completed with 4,105 passed, 5 skipped, and 126 deselected. 
Three unrelated Hive Kerberos tests failed because this host lacks 
`krb5-config` and the native Kerberos module.
   
   ## Are there any user-facing changes?
   
   Yes. Invalid `py-io-impl`, `write.py-location-provider.impl`, and 
`s3.retry-strategy-impl` values now raise a clear `ValueError` before an 
unrelated importable class is instantiated. Valid custom implementations 
continue to load normally.
   


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