Skip to content

[feature][CGS][entrance] support application-level creator to force spark3 engine switching #1077

Description

@v-kkhuang

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Problem Description

Linkis can already force selected tasks onto the Spark3 engine (instead of the global default Spark2) through CommonEntranceParser.sparkVersionCoercion, but only by user and department dimensions. There is no way to force Spark3 by application (creator), which is needed for application-by-application gray migration from Spark2 to Spark3.

Description

Add a creator (application) dimension to the Spark3 version coercion so that tasks whose creator is in a configurable list are forced onto the Spark3 engine. The priority order stays user > department > creator.

Use case

During Spark2 to Spark3 migration, operations want to force Spark3 for an entire upstream application by its creator without listing every single user. After configuring spark.version.coercion.creators=appA,appB (hot-reload), tasks from those applications are routed to Spark3.

Solutions

Extend sparkVersionCoercion with a creator branch, reuse the existing spark.version.coercion.switch master switch (default off) and a hot-reloadable creators list, and wrap the new branch in Utils.tryAndWarnMsg for safe fallback.

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions