Skip to content

Replace hardcoded config strings with typed key() references #2295

@guixiaowen

Description

@guixiaowen

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions