apache / apache/auron

Replace hardcoded config strings with typed key() references

Open
#2,295 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.