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 = {

Reply via email to