rxdrccq opened a new pull request, #25784: URL: https://github.com/apache/datafusion/pull/25784
## Which issue does this PR close? Part of #17498. This PR validates the global Parquet encoding setting; the issue also tracks other configuration values. ## Rationale for this change `SET datafusion.execution.parquet.encoding = 'invalid'` currently succeeds. The error appears only when a Parquet write starts, so the invalid setting is harder to diagnose. ## What changes are included in this PR? - Add `DFParquetEncoding` to validate supported names when the global setting is assigned, following the approach used for compression in #25626. - Preserve the previous value after an invalid `SET`, and display valid values in canonical lowercase form. - Use the validated value when building Parquet writer properties while retaining column-specific encoding behavior. - Validate the global setting in both Proto conversion paths and add regression tests. ## What is the testing strategy for this PR? Added unit tests for encoding parsing and conversion, configuration state, and Proto conversion, plus SQL logic coverage for `SET`, `SHOW`, invalid `SET`, and `RESET`. Passed locally: - `cargo test --profile ci --test sqllogictests` (523 files) - `cargo test --profile ci -p datafusion-cli` - The extended workspace test command in `AGENTS.md` - `cargo fmt --all --check` - `cargo clippy --all-targets --all-features -- -D warnings` - `./dev/rust_lint.sh` The extended suite initially hit this machine's 1024-file-descriptor limit in an unrelated sort fuzz test. That test and the full suite passed after raising the limit to 65536. There is no relevant local benchmark for configuration parsing or writer-property setup. @alamb As a first-time contributor, could you trigger the CI checks for this PR? ## Are there any user-facing changes? Invalid global Parquet encodings now fail at `SET` time instead of at write time. `SHOW` displays valid encodings in lowercase. The public Rust field `ParquetOptions.encoding` changes from `Option<String>` to `Option<DFParquetEncoding>`. Please apply the `api change` label. -- 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]
