XiaoHongbo-Hope opened a new pull request, #10112:
URL: https://github.com/apache/paimon/pull/10112

   ### Purpose
   
   Fix a native-read option forwarding regression introduced by #9954. On the 
catalog-based Rust reader path, `table.copy({'blob-as-descriptor': 'true'})` 
loses the override because `_read_options()` omits it. Rust consequently reads 
BLOB payloads instead of returning descriptors, causing unnecessary 
object-storage range reads.
   
   Forward `blob-as-descriptor` through the existing option normalization, 
including Python boolean values. This also preserves explicit `false` 
overrides. Newer Rust resolved-schema construction already retains this option; 
the regression test explicitly exercises the catalog path used by older 
runtimes.
   
   This PR is limited to descriptor option forwarding. Repeated Catalog/Table 
construction across parallel split groups is a separate issue. The same 
forwarding fix is applicable to release-2.1.
   
   ### Tests
   
   - Native planning and native reading unit suites: 99 passed, 37 subtests 
passed.
   - Real Rust integration test: dynamic string/boolean true and false 
overrides, with Python-reader fallback prohibited. Descriptor reads also 
succeed after deleting the referenced BLOB file.
   - Verified the integration test fails without the fix: payload returned 
instead of descriptor, and missing-payload I/O error.
   - Flake8 on changed files and `git diff --check` passed.
   
   The integration test was run via unittest with a locally available native 
Rust runtime, since the default test environment's Rust package lacks 
native-read support.
   


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

Reply via email to