suxiaogang223 opened a new pull request, #68825:
URL: https://github.com/apache/doris/pull/68825

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #66227
   
   Problem Summary:
   
   Forward-port the Paimon Rust reader from branch-4.1 to master. The reader 
consumes FE-planned Paimon splits in BE through the Arrow C Data Interface and 
is guarded by the `enable_paimon_rust_reader` session variable, which remains 
disabled by default.
   
   The forward-port is adapted to the master connector framework instead of 
copying the branch-4.1 FE scan path. FE selects the Rust reader through the 
Paimon connector scan provider and checks BE capability advertised by 
heartbeat. Unsupported table layouts, scan modes, credentials, schemas, 
projections, predicates, or runtime filters conservatively fall back to the 
existing JNI reader.
   
   Master-specific compatibility fixes include:
   
   - preserve null-aware predicate and runtime-filter semantics;
   - reject unsupported credential combinations without changing effective 
catalog credentials in tests;
   - follow master branch and snapshot resolution behavior;
   - carry name-based nested projection state even when a connector has no 
stable nested field IDs, preventing projected Arrow structs from being decoded 
as complete Doris structs;
   - explicitly enable TIMESTAMP_LTZ mapping in the time-zone regression 
fixture.
   
   ### Release note
   
   Add the experimental `enable_paimon_rust_reader` session variable. When 
enabled and supported by the selected BE and table scan, Doris can read Paimon 
data through the BE-side Rust reader. Unsupported scans automatically use the 
existing JNI reader.
   
   ### Check List (For Author)
   
   - Test:
       - FE build and checkstyle
       - FE unit tests: `PaimonRustReaderSelectorTest`, 
`PluginDrivenScanNodeProjectionTest`
       - Regression tests: `test_paimon_rust_reader_cast_predicates`, 
`test_paimon_rust_reader_schema_evolution`, 
`test_paimon_rust_reader_compatibility`, `test_paimon_rust_reader_eq_for_null`
   - Behavior changed: Yes. The new reader can be enabled explicitly; the 
default remains unchanged.
   - Does this need documentation: Yes. Session-variable documentation should 
be added with the feature rollout.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label if needed


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