This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-helm-chart.git
The following commit(s) were added to refs/heads/master by this push:
new 6f1585e Replace G1GC with generational ZGC and simplify PULSAR_GC
options in values.yaml (#626)
6f1585e is described below
commit 6f1585e65e67c8890b7973e8fd574fd1b990101f
Author: Lari Hotari <[email protected]>
AuthorDate: Thu Sep 4 18:24:34 2025 +0300
Replace G1GC with generational ZGC and simplify PULSAR_GC options in
values.yaml (#626)
* Use ZGC and simplify PULSAR_GC options
* Use ZGC without ZGenerational in Pulsar 3.0.x test
---
.ci/clusters/values-pulsar-previous-lts.yaml | 43 ++++++++++++++++++-
charts/pulsar/values.yaml | 62 +++++++++-------------------
2 files changed, 62 insertions(+), 43 deletions(-)
diff --git a/.ci/clusters/values-pulsar-previous-lts.yaml
b/.ci/clusters/values-pulsar-previous-lts.yaml
index 01878d2..0809498 100644
--- a/.ci/clusters/values-pulsar-previous-lts.yaml
+++ b/.ci/clusters/values-pulsar-previous-lts.yaml
@@ -17,4 +17,45 @@
# under the License.
#
-defaultPulsarImageTag: 3.0.13
\ No newline at end of file
+defaultPulsarImageTag: 3.0.13
+
+# Pulsar 3.0.x runs on JDK 17, which doesn't support -XX:+ZGeneration,
therefore it's necessary to
+# override the PULSAR_GC options to use ZGC.
+
+zookeeper:
+ configData:
+ PULSAR_GC: >
+ -XX:+UseZGC
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
+ -XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
+ -XX:+PerfDisableSharedMem
+bookkeeper:
+ configData:
+ PULSAR_GC: >
+ -XX:+UseZGC
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
+ -XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
+ -XX:+PerfDisableSharedMem
+broker:
+ configData:
+ PULSAR_GC: >
+ -XX:+UseZGC
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
+ -XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
+ -XX:+PerfDisableSharedMem
+
+proxy:
+ configData:
+ PULSAR_GC: >
+ -XX:+UseZGC
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
+ -XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
+ -XX:+PerfDisableSharedMem
\ No newline at end of file
diff --git a/charts/pulsar/values.yaml b/charts/pulsar/values.yaml
index 7c5ddb0..0c65860 100755
--- a/charts/pulsar/values.yaml
+++ b/charts/pulsar/values.yaml
@@ -547,15 +547,12 @@ zookeeper:
PULSAR_MEM: >
-Xms64m -Xmx128m
PULSAR_GC: >
- -XX:+UseG1GC
- -XX:MaxGCPauseMillis=10
- -Dcom.sun.management.jmxremote
- -Djute.maxbuffer=10485760
- -XX:+ParallelRefProcEnabled
- -XX:+UnlockExperimentalVMOptions
- -XX:+DoEscapeAnalysis
- -XX:+DisableExplicitGC
+ -XX:+UseZGC
+ -XX:+ZGenerational
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
-XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
-XX:+PerfDisableSharedMem
## Add a custom command to the start up process of the zookeeper pods (e.g.
update-ca-certificates, jvm commands, etc)
additionalCommand:
@@ -836,17 +833,12 @@ bookkeeper:
-Xmx256m
-XX:MaxDirectMemorySize=256m
PULSAR_GC: >
- -XX:+UseG1GC
- -XX:MaxGCPauseMillis=10
- -XX:+ParallelRefProcEnabled
- -XX:+UnlockExperimentalVMOptions
- -XX:+DoEscapeAnalysis
- -XX:ParallelGCThreads=4
- -XX:ConcGCThreads=4
- -XX:G1NewSizePercent=50
- -XX:+DisableExplicitGC
- -XX:-ResizePLAB
+ -XX:+UseZGC
+ -XX:+ZGenerational
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
-XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
-XX:+PerfDisableSharedMem
#
# Bookkeeper configuration reference:
https://bookkeeper.apache.org/docs/reference/config
@@ -1167,19 +1159,12 @@ broker:
PULSAR_MEM: >
-Xms128m -Xmx256m -XX:MaxDirectMemorySize=256m
PULSAR_GC: >
- -XX:+UseG1GC
- -XX:MaxGCPauseMillis=10
- -Dio.netty.leakDetectionLevel=disabled
- -Dio.netty.recycler.linkCapacity=1024
- -XX:+ParallelRefProcEnabled
- -XX:+UnlockExperimentalVMOptions
- -XX:+DoEscapeAnalysis
- -XX:ParallelGCThreads=4
- -XX:ConcGCThreads=4
- -XX:G1NewSizePercent=50
- -XX:+DisableExplicitGC
- -XX:-ResizePLAB
+ -XX:+UseZGC
+ -XX:+ZGenerational
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
-XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
-XX:+PerfDisableSharedMem
managedLedgerDefaultEnsembleSize: "2"
managedLedgerDefaultWriteQuorum: "2"
@@ -1423,19 +1408,12 @@ proxy:
PULSAR_MEM: >
-Xms64m -Xmx64m -XX:MaxDirectMemorySize=64m
PULSAR_GC: >
- -XX:+UseG1GC
- -XX:MaxGCPauseMillis=10
- -Dio.netty.leakDetectionLevel=disabled
- -Dio.netty.recycler.linkCapacity=1024
- -XX:+ParallelRefProcEnabled
- -XX:+UnlockExperimentalVMOptions
- -XX:+DoEscapeAnalysis
- -XX:ParallelGCThreads=4
- -XX:ConcGCThreads=4
- -XX:G1NewSizePercent=50
- -XX:+DisableExplicitGC
- -XX:-ResizePLAB
+ -XX:+UseZGC
+ -XX:+ZGenerational
+ -XX:+AlwaysPreTouch
+ -XX:+UseTransparentHugePages
-XX:+ExitOnOutOfMemoryError
+ -XX:+DisableExplicitGC
-XX:+PerfDisableSharedMem
httpNumThreads: "8"
## Add a custom command to the start up process of the proxy pods (e.g.
update-ca-certificates, jvm commands, etc)