This is an automated email from the ASF dual-hosted git repository. lzljs3620320 pushed a commit to branch release-1.3 in repository https://gitbox.apache.org/repos/asf/paimon.git
commit 86de753145c15813733dd13a017c831af5cbaf95 Author: Kerwin Zhang <[email protected]> AuthorDate: Fri Sep 26 21:20:02 2025 +0800 [spark] Support version-specific default configuration values (#6334) --- .../org/apache/paimon/spark/util/OptionUtils.scala | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/paimon-spark/paimon-spark-common/src/main/scala/org/apache/paimon/spark/util/OptionUtils.scala b/paimon-spark/paimon-spark-common/src/main/scala/org/apache/paimon/spark/util/OptionUtils.scala index dd35dd394d..d2dbdfd64d 100644 --- a/paimon-spark/paimon-spark-common/src/main/scala/org/apache/paimon/spark/util/OptionUtils.scala +++ b/paimon-spark/paimon-spark-common/src/main/scala/org/apache/paimon/spark/util/OptionUtils.scala @@ -47,6 +47,21 @@ object OptionUtils extends SQLConfHelper { conf.getConfString(s"$PAIMON_OPTION_PREFIX${option.key()}", option.defaultValue().toString) } + private def getSparkVersionSpecificDefault(option: ConfigOption[_]): String = { + val sparkVersion = org.apache.spark.SPARK_VERSION + + option.key() match { + case key if key == SparkConnectorOptions.USE_V2_WRITE.key() => + if (sparkVersion >= "3.4") { + "false" + } else { + option.defaultValue().toString + } + case _ => + option.defaultValue().toString + } + } + def checkRequiredConfigurations(): Unit = { if (getOptionString(SparkConnectorOptions.REQUIRED_SPARK_CONFS_CHECK_ENABLED).toBoolean) { if (!paimonExtensionEnabled) { @@ -60,7 +75,13 @@ object OptionUtils extends SQLConfHelper { } def useV2Write(): Boolean = { - getOptionString(SparkConnectorOptions.USE_V2_WRITE).toBoolean + val defaultValue = getSparkVersionSpecificDefault(SparkConnectorOptions.USE_V2_WRITE) + conf + .getConfString( + s"$PAIMON_OPTION_PREFIX${SparkConnectorOptions.USE_V2_WRITE.key()}", + defaultValue + ) + .toBoolean } def writeMergeSchemaEnabled(): Boolean = {
