From 9ec51c90791dc230e0c82d662ff1aadc9a40257b Mon Sep 17 00:00:00 2001 From: attilapiros Date: Tue, 19 May 2026 18:36:14 -0700 Subject: [PATCH 1/2] Initial upload. --- .../main/java/org/apache/spark/launcher/JavaModuleOptions.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java b/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java index ec3c030723ce3..a3d6578cc8bb5 100644 --- a/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java +++ b/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java @@ -47,7 +47,8 @@ public class JavaModuleOptions { "-Dio.netty.allocator.type=pooled", "-Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE", "-Dio.netty.noUnsafe=false", - "--enable-native-access=ALL-UNNAMED"}; + "--enable-native-access=ALL-UNNAMED", + "--sun-misc-unsafe-memory-access=allow"}; /** * Returns the default JVM runtime options used by Spark. From d2ba7bcf58f837a7a084ac57865c923f66acd1fd Mon Sep 17 00:00:00 2001 From: attilapiros Date: Wed, 20 May 2026 06:34:49 -0700 Subject: [PATCH 2/2] Replacing all io.netty.noUnsafe=false with sun-misc-unsafe-memory-access=allow --- .../java/org/apache/spark/launcher/JavaModuleOptions.java | 5 ++--- pom.xml | 2 +- project/SparkBuild.scala | 2 +- sql/connect/bin/spark-connect-scala-client | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java b/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java index a3d6578cc8bb5..feab843804228 100644 --- a/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java +++ b/launcher/src/main/java/org/apache/spark/launcher/JavaModuleOptions.java @@ -46,9 +46,8 @@ public class JavaModuleOptions { "-Dio.netty.tryReflectionSetAccessible=true", "-Dio.netty.allocator.type=pooled", "-Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE", - "-Dio.netty.noUnsafe=false", - "--enable-native-access=ALL-UNNAMED", - "--sun-misc-unsafe-memory-access=allow"}; + "--sun-misc-unsafe-memory-access=allow", + "--enable-native-access=ALL-UNNAMED"}; /** * Returns the default JVM runtime options used by Spark. diff --git a/pom.xml b/pom.xml index dc75eb04eac00..45e44241103c5 100644 --- a/pom.xml +++ b/pom.xml @@ -340,7 +340,7 @@ -Dio.netty.tryReflectionSetAccessible=true -Dio.netty.allocator.type=pooled -Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE - -Dio.netty.noUnsafe=false + --sun-misc-unsafe-memory-access=allow --enable-native-access=ALL-UNNAMED -XX:+EnableDynamicAgentLoading diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala index 5d59e11413275..541960a1f5dfa 100644 --- a/project/SparkBuild.scala +++ b/project/SparkBuild.scala @@ -1921,7 +1921,7 @@ object TestSettings { "-Dio.netty.tryReflectionSetAccessible=true", "-Dio.netty.allocator.type=pooled", "-Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE", - "-Dio.netty.noUnsafe=false", + "--sun-misc-unsafe-memory-access=allow", "--enable-native-access=ALL-UNNAMED", "-XX:+EnableDynamicAgentLoading").mkString(" ") s"-Xmx$heapSize -Xss4m -XX:MaxMetaspaceSize=$metaspaceSize -XX:ReservedCodeCacheSize=128m -Dfile.encoding=UTF-8 $extraTestJavaArgs" diff --git a/sql/connect/bin/spark-connect-scala-client b/sql/connect/bin/spark-connect-scala-client index 019a42a2ba473..5748a7ec125f0 100755 --- a/sql/connect/bin/spark-connect-scala-client +++ b/sql/connect/bin/spark-connect-scala-client @@ -72,7 +72,7 @@ JVM_ARGS="-XX:+IgnoreUnrecognizedVMOptions \ -Dio.netty.tryReflectionSetAccessible=true \ -Dio.netty.allocator.type=pooled \ -Dio.netty.handler.ssl.defaultEndpointVerificationAlgorithm=NONE \ - -Dio.netty.noUnsafe=false \ + --sun-misc-unsafe-memory-access=allow \ --enable-native-access=ALL-UNNAMED \ $SCJVM_ARGS"