Replace hardcoded config strings with typed key() references
- Dominant language
- Rust
- Stars
- 1.8k
- Forks
- 241
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 21
Description
**Background**
Currently, in the AURON codebase, many feature flag configurations (e.g., auron.enable.hudi.scan, auron.enable.orc.scan, etc.) are referenced as hardcoded strings scattered throughout the implementation code.
For example:
`
case _: FileSourceScanExec if !enableScan =>
"Conversion disabled: spark.auron.enable.scan=false."
`
**Problem**
Using hardcoded strings for configuration keys introduces several issues:
Maintainability risk – If a configuration key name needs to be changed, developers must manually search and replace all occurrences, which is error-prone.
Typo vulnerability – Hardcoded strings are prone to spelling mistakes that cannot be caught at compile time (e.g., "auron.enable.hu di.scan" with an extra space).
Code inconsistency – Some parts of the codebase use the typed .key() approach, while others still rely on raw strings, leading to inconsistent coding patterns.
Refactoring difficulty – IDE refactoring tools cannot automatically rename hardcoded string literals, making large-scale changes tedious and risky.
**Scope of Changes**
This refactoring should cover all auron.enable.* configuration keys in the codebase, including but not limited to:
auron.enable.hudi.scan
auron.enable.orc.scan
auron.enable.parquet.scan
Any other auron.enable.* feature flags currently defined as typed constants
Contributor guide
Assessment
This issue has not been assessed yet.