From 92677c8463ca9154bdd012bfca166403c1fd1866 Mon Sep 17 00:00:00 2001 From: clintonium-119 Date: Thu, 7 May 2026 11:47:54 -0400 Subject: [PATCH 1/2] fix(kafka): pin Kafka Connect heap via jvmOptions to avoid Strimzi dynamic-heap fallback --- charts/tidepool/Chart.yaml | 4 ++-- .../kafka/templates/1-kafka-connect-mongo-cluster.yaml | 4 ++++ charts/tidepool/charts/kafka/values.yaml | 6 ++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/charts/tidepool/Chart.yaml b/charts/tidepool/Chart.yaml index c87533ec..635c6ff0 100644 --- a/charts/tidepool/Chart.yaml +++ b/charts/tidepool/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 description: A Helm chart for Tidepool name: tidepool -version: 0.24.5 +version: 0.24.6 maintainers: - name: Todd Kazakov email: todd@tidepool.org @@ -11,5 +11,5 @@ home: https://github.com/tidepool-org/development/charts dependencies: - name: keycloak version: 0.4.7 - repository: 'file://../keycloak' + repository: "file://../keycloak" condition: keycloak.enabled diff --git a/charts/tidepool/charts/kafka/templates/1-kafka-connect-mongo-cluster.yaml b/charts/tidepool/charts/kafka/templates/1-kafka-connect-mongo-cluster.yaml index 78f9f56b..4ecb7637 100644 --- a/charts/tidepool/charts/kafka/templates/1-kafka-connect-mongo-cluster.yaml +++ b/charts/tidepool/charts/kafka/templates/1-kafka-connect-mongo-cluster.yaml @@ -54,6 +54,10 @@ spec: replicas: {{ .Values.global.kafka.connect.replicas | int }} resources: {{- toYaml .Values.resources | nindent 10 }} +{{- with .Values.jvmOptions }} + jvmOptions: + {{- toYaml . | nindent 4 }} +{{- end }} {{ if .Values.global.kafka.connect.tlsEnabled }} tls: trustedCertificates: [] diff --git a/charts/tidepool/charts/kafka/values.yaml b/charts/tidepool/charts/kafka/values.yaml index 4916a51a..e663da99 100644 --- a/charts/tidepool/charts/kafka/values.yaml +++ b/charts/tidepool/charts/kafka/values.yaml @@ -58,6 +58,12 @@ resources: memory: "600Mi" limits: memory: "2Gi" +# -- explicit JVM heap sizing; works around Strimzi's dynamic-heap script +# misreading the cgroup limit on some kernels (it falls back to host memory +# and asks for ~75% of the box, triggering a cgroup OOMKill). +jvmOptions: + "-Xms": "768m" + "-Xmx": "1024m" secret: enabled: false podMonitor: From 9caab523d2d36d7258b32feafc6a86957f9d6ecb Mon Sep 17 00:00:00 2001 From: clintonium-119 Date: Thu, 7 May 2026 12:06:29 -0400 Subject: [PATCH 2/2] feat(kafka): expose Kafka Connect jvmOptions via chart values --- charts/tidepool/charts/kafka/values.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/charts/tidepool/charts/kafka/values.yaml b/charts/tidepool/charts/kafka/values.yaml index e663da99..e1fc83b7 100644 --- a/charts/tidepool/charts/kafka/values.yaml +++ b/charts/tidepool/charts/kafka/values.yaml @@ -58,12 +58,11 @@ resources: memory: "600Mi" limits: memory: "2Gi" -# -- explicit JVM heap sizing; works around Strimzi's dynamic-heap script -# misreading the cgroup limit on some kernels (it falls back to host memory -# and asks for ~75% of the box, triggering a cgroup OOMKill). -jvmOptions: - "-Xms": "768m" - "-Xmx": "1024m" +# -- optional JVM heap sizing passed through to KafkaConnect.spec.jvmOptions. +# Leave unset to use Strimzi's dynamic heap calculation (75% of the cgroup +# memory limit). Override (e.g. via tiltronic-values-local.yaml) on hosts +# where Strimzi's cgroup detection fails and the dynamic calc overshoots. +jvmOptions: {} secret: enabled: false podMonitor: