andygrove opened a new pull request, #4979: URL: https://github.com/apache/datafusion-comet/pull/4979
## Summary Kicks off the "Review all configuration options and consider renaming some for consistency" item on the 1.0.0 tracker (#4082). This PR lands the machinery + first rename, and files #4978 to track the full rename backlog. - **Alias mechanism.** Adds `.withAlternative(oldKey, ...)` to `ConfigBuilder`. Reads check the primary key first, then any registered alternatives in order. Reading a value from an alternative logs a one-time deprecation warning per JVM per alternative key, naming the current key. - **Threaded through** `TypedConfigBuilder` → `ConfigEntryWithDefault` and `OptionalConfigEntry`, so configs with defaults, env-var overrides, and optional configs all support aliases. - **Pilot rename.** `spark.comet.exec.replaceSortMergeJoin` → `spark.comet.exec.forceShuffleHashJoin.enabled` (Scala symbol `COMET_REPLACE_SMJ` → `COMET_FORCE_SHJ`). Old key still works as a deprecated alias. - **Contributor-guide doc.** New "Configuration Conventions" page under `docs/source/contributor-guide/` documenting key/symbol naming rules and the rename workflow. - **Tests.** New `CometConfSuite` covers primary-wins, alternative fallback, default, multiple alternatives, `OptionalConfigEntry`, type conversion through the alias, and the pilot rename end-to-end. Related: - Broader rename backlog: #4978 - 1.0.0 tracker: #4082 ## Test plan - [ ] `./mvnw -pl spark test -Dtest=none -Dsuites="org.apache.comet.CometConfSuite"` — 7 tests pass locally - [ ] `./mvnw -pl spark -am compile -DskipTests` — clean - [ ] `npx prettier "**/*.md" --write` — clean -- 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]
