[datafusion] Honor Paimon read.batch-size - #547
Conversation
56f166f to
d068f75
Compare
d91b608 to
c58186d
Compare
|
There is still one semantics gap in the current implementation: a non-default
Those paths therefore pass Please thread the resolved batch size through |
c58186d to
267ed21
Compare
leaves12138
left a comment
There was a problem hiding this comment.
Re-reviewed the latest revision. The configured read batch size is now propagated into PK sort-merge and data-evolution input file readers while keeping merge output batching independent. The new regression tests cover both composite paths, and the focused tests pass locally. LGTM.
Summary
Honor Java Paimon standard
read.batch-sizetable option in file decoding instead of coupling Paimon readers to DataFusionTaskContextbatch size. DataFusion can override the persisted table option per session through its existing Paimon dynamic-option syntax.Changes
CoreOptions::read_batch_sizeaccessor with the Java-compatible default of1024and validation for invalid or non-positive valuesTableSchema::core_options()as a zero-copy typed view while keeping the serializedoptionsmap as the single source of truthread.batch-sizevalues during table creation and ALTER option application; validate dynamic overrides when the file reader consumes themTableReadfree of a new public batch-size API and keep DataFusion scan execution independent ofSessionConfig::batch_sizeSET paimon.read.batch-size = NandRESETTesting
cargo test -p paimon --lib— 1669 passed, 1 ignoredcargo test -p paimon input_decode_honors_read_batch_size -- --nocapture— 2 passedcargo test -p paimon-datafusion batch_size --lib— 2 passedcargo clippy --all-targets --workspace --features fulltext,vortex -- -D warningscargo fmt --all -- --checkgit diff --checkNotes
This follows #543.
query-auth.enabledremains a runtime read-boundary guard: an auth-enabled schema is valid, but local readers must fail closed instead of bypassing server-side authorization.