This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git
The following commit(s) were added to refs/heads/main by this push:
new d381ce5 [SPARK-55274] Set `-XX:+AlwaysPreTouch` by default
d381ce5 is described below
commit d381ce5705ed086d17d6a5d25fb2fd24e3ffc440
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Jan 30 15:04:28 2026 +0900
[SPARK-55274] Set `-XX:+AlwaysPreTouch` by default
### What changes were proposed in this pull request?
This PR aims to set `-XX:+AlwaysPreTouch` by default to improve stability.
### Why are the changes needed?
To improve stability by ensuring **Physical Memory Availability**
In some environments where memory overcommitment is allowed by the OS or
K8s node by SRE, the JVM might successfully reserve heap space that isn't
physically available. `AlwaysPreTouch` ensures that the K8s operator actually
gets the guarnteed physical RAM at startup and avoids random evictions due to
the lack of memory.
### Does this PR introduce _any_ user-facing change?
Only JVM GC behavior changes.
### How was this patch tested?
Pass the CIs.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #476 from dongjoon-hyun/SPARK-55274.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
build-tools/helm/spark-kubernetes-operator/values.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build-tools/helm/spark-kubernetes-operator/values.yaml
b/build-tools/helm/spark-kubernetes-operator/values.yaml
index db37147..b0e948d 100644
--- a/build-tools/helm/spark-kubernetes-operator/values.yaml
+++ b/build-tools/helm/spark-kubernetes-operator/values.yaml
@@ -41,7 +41,7 @@ operatorDeployment:
#
https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
topologySpreadConstraints: [ ]
operatorContainer:
- jvmArgs: "-Dfile.encoding=UTF8 -XX:+ExitOnOutOfMemoryError
-XX:+UseParallelGC -XX:InitialRAMPercentage=80 -XX:MaxRAMPercentage=80
-Dio.netty.noUnsafe=true"
+ jvmArgs: "-Dfile.encoding=UTF8 -XX:+ExitOnOutOfMemoryError
-XX:+UseParallelGC -XX:InitialRAMPercentage=80 -XX:MaxRAMPercentage=80
-XX:+AlwaysPreTouch -Dio.netty.noUnsafe=true"
env:
- name: "SPARK_USER"
value: "spark"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]