Search before asking
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?
Search before asking
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
sparkVersionCoercionwith a creator branch, reuse the existingspark.version.coercion.switchmaster switch (default off) and a hot-reloadable creators list, and wrap the new branch inUtils.tryAndWarnMsgfor safe fallback.Are you willing to submit a PR?