From 675a14723eb5f732f4567751be92c795bf645d9d Mon Sep 17 00:00:00 2001 From: nataliechen-pixel Date: Thu, 20 Aug 2026 13:44:57 -0700 Subject: [PATCH 1/3] [PLAT-1440] Raise termination grace periods so in-flight SLFs can finish Co-authored-by: Cursor --- charts/retool/templates/deployment_backend.yaml | 2 +- .../retool/templates/deployment_code_executor.yaml | 1 + charts/retool/templates/deployment_js_executor.yaml | 1 + charts/retool/values.yaml | 13 +++++++++---- values.yaml | 13 +++++++++---- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/charts/retool/templates/deployment_backend.yaml b/charts/retool/templates/deployment_backend.yaml index 0197a814..549c74ce 100644 --- a/charts/retool/templates/deployment_backend.yaml +++ b/charts/retool/templates/deployment_backend.yaml @@ -46,7 +46,7 @@ spec: {{ toYaml .Values.ui.labels | indent 8 }} {{- end }} spec: - terminationGracePeriodSeconds: {{ .Values.backend.terminationGracePeriodSeconds | default 136 }} + terminationGracePeriodSeconds: {{ .Values.backend.terminationGracePeriodSeconds | default 391 }} serviceAccountName: {{ template "retool.serviceAccountName" . }} {{- if .Values.priorityClassName }} priorityClassName: "{{ .Values.priorityClassName }}" diff --git a/charts/retool/templates/deployment_code_executor.yaml b/charts/retool/templates/deployment_code_executor.yaml index 76104dbd..fe3e3040 100644 --- a/charts/retool/templates/deployment_code_executor.yaml +++ b/charts/retool/templates/deployment_code_executor.yaml @@ -50,6 +50,7 @@ spec: {{ toYaml .Values.codeExecutor.labels | indent 8 }} {{- end }} spec: + terminationGracePeriodSeconds: {{ .Values.codeExecutor.terminationGracePeriodSeconds | default 391 }} serviceAccountName: {{ template "retool.serviceAccountName" . }} {{- if .Values.priorityClassName }} priorityClassName: "{{ .Values.priorityClassName }}" diff --git a/charts/retool/templates/deployment_js_executor.yaml b/charts/retool/templates/deployment_js_executor.yaml index 2e005bf6..e7ea5d49 100644 --- a/charts/retool/templates/deployment_js_executor.yaml +++ b/charts/retool/templates/deployment_js_executor.yaml @@ -46,6 +46,7 @@ spec: {{ toYaml .Values.rr.jsExecutor.labels | indent 8 }} {{- end }} spec: + terminationGracePeriodSeconds: {{ .Values.rr.jsExecutor.terminationGracePeriodSeconds | default 376 }} serviceAccountName: {{ template "retool.serviceAccountName" . }} {{- if .Values.priorityClassName }} priorityClassName: "{{ .Values.priorityClassName }}" diff --git a/charts/retool/values.yaml b/charts/retool/values.yaml index 46aa9b14..eea5a7d6 100644 --- a/charts/retool/values.yaml +++ b/charts/retool/values.yaml @@ -432,9 +432,8 @@ backend: labels: {} # Make backend pods wait the specified time before kubernetes will forcibly kill them when they need to be rescheduled - # By default this is a 2 minutes + 15 seconds + 1 second (136) grace period to allow outstanding queries to complete - # Change this to 10 minutes 15 seconds + 1 second (616) if you are using long-running queries with a 10 minute timeout - terminationGracePeriodSeconds: 136 + # By default this is a 6 minutes + 30 seconds + 1 second (391) grace period to allow outstanding queries to complete + terminationGracePeriodSeconds: 391 ui: # Annotations for ui pods @@ -538,7 +537,7 @@ dbconnector: # kubernetes will forcibly kill them when they need to be rescheduled. Setting # this to a long duration will minimize disruption to any long-running # resource queries during updates, at the cost of making updates take longer. - # terminationGracePeriodSeconds: 960 + terminationGracePeriodSeconds: 391 # If necessary, specify the resources to provision the workflows-backend pod # separately from the main backend pods. If unspecified, uses the same @@ -794,6 +793,9 @@ codeExecutor: replicaCount: 1 + # 6m in-flight request + 30s backend-style preStop buffer + 1s + terminationGracePeriodSeconds: 391 + # Annotations for code executor pods annotations: {} @@ -868,6 +870,9 @@ rr: replicaCount: 1 + # 6m in-flight SLF + 15s drain buffer + 1s + terminationGracePeriodSeconds: 376 + seccompLocalhostProfile: profiles/nsjail-seccomp.json # JS-executor-specific environment; not inherited from the top-level diff --git a/values.yaml b/values.yaml index 46aa9b14..eea5a7d6 100644 --- a/values.yaml +++ b/values.yaml @@ -432,9 +432,8 @@ backend: labels: {} # Make backend pods wait the specified time before kubernetes will forcibly kill them when they need to be rescheduled - # By default this is a 2 minutes + 15 seconds + 1 second (136) grace period to allow outstanding queries to complete - # Change this to 10 minutes 15 seconds + 1 second (616) if you are using long-running queries with a 10 minute timeout - terminationGracePeriodSeconds: 136 + # By default this is a 6 minutes + 30 seconds + 1 second (391) grace period to allow outstanding queries to complete + terminationGracePeriodSeconds: 391 ui: # Annotations for ui pods @@ -538,7 +537,7 @@ dbconnector: # kubernetes will forcibly kill them when they need to be rescheduled. Setting # this to a long duration will minimize disruption to any long-running # resource queries during updates, at the cost of making updates take longer. - # terminationGracePeriodSeconds: 960 + terminationGracePeriodSeconds: 391 # If necessary, specify the resources to provision the workflows-backend pod # separately from the main backend pods. If unspecified, uses the same @@ -794,6 +793,9 @@ codeExecutor: replicaCount: 1 + # 6m in-flight request + 30s backend-style preStop buffer + 1s + terminationGracePeriodSeconds: 391 + # Annotations for code executor pods annotations: {} @@ -868,6 +870,9 @@ rr: replicaCount: 1 + # 6m in-flight SLF + 15s drain buffer + 1s + terminationGracePeriodSeconds: 376 + seccompLocalhostProfile: profiles/nsjail-seccomp.json # JS-executor-specific environment; not inherited from the top-level From 240ff3d4d679fdd74dfae7f474076196d07f9745 Mon Sep 17 00:00:00 2001 From: nataliechen-pixel Date: Thu, 20 Aug 2026 14:41:16 -0700 Subject: [PATCH 2/3] [chore][PLAT-1440] Bump chart version to 6.11.21 --- charts/retool/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/retool/Chart.yaml b/charts/retool/Chart.yaml index 0b5c82da..a358d21c 100644 --- a/charts/retool/Chart.yaml +++ b/charts/retool/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: retool description: A Helm chart for Kubernetes type: application -version: 6.11.20 +version: 6.11.21 maintainers: - name: Retool Engineering email: engineering+helm@retool.com From d79acad332998be635283152215f69c49efc014b Mon Sep 17 00:00:00 2001 From: nataliechen-pixel Date: Thu, 20 Aug 2026 15:54:48 -0700 Subject: [PATCH 3/3] [chore][PLAT-1440] Unify JS executor termination grace on 391 Match the shared 391s grace used by the other SLF-serving services instead of carrying a separate 376s value for the JS executor. Co-authored-by: Cursor --- charts/retool/templates/deployment_js_executor.yaml | 2 +- charts/retool/values.yaml | 4 ++-- values.yaml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/retool/templates/deployment_js_executor.yaml b/charts/retool/templates/deployment_js_executor.yaml index e7ea5d49..df4214bd 100644 --- a/charts/retool/templates/deployment_js_executor.yaml +++ b/charts/retool/templates/deployment_js_executor.yaml @@ -46,7 +46,7 @@ spec: {{ toYaml .Values.rr.jsExecutor.labels | indent 8 }} {{- end }} spec: - terminationGracePeriodSeconds: {{ .Values.rr.jsExecutor.terminationGracePeriodSeconds | default 376 }} + terminationGracePeriodSeconds: {{ .Values.rr.jsExecutor.terminationGracePeriodSeconds | default 391 }} serviceAccountName: {{ template "retool.serviceAccountName" . }} {{- if .Values.priorityClassName }} priorityClassName: "{{ .Values.priorityClassName }}" diff --git a/charts/retool/values.yaml b/charts/retool/values.yaml index eea5a7d6..8827831b 100644 --- a/charts/retool/values.yaml +++ b/charts/retool/values.yaml @@ -870,8 +870,8 @@ rr: replicaCount: 1 - # 6m in-flight SLF + 15s drain buffer + 1s - terminationGracePeriodSeconds: 376 + # 6m in-flight SLF + 30s drain buffer + 1s + terminationGracePeriodSeconds: 391 seccompLocalhostProfile: profiles/nsjail-seccomp.json diff --git a/values.yaml b/values.yaml index eea5a7d6..8827831b 100644 --- a/values.yaml +++ b/values.yaml @@ -870,8 +870,8 @@ rr: replicaCount: 1 - # 6m in-flight SLF + 15s drain buffer + 1s - terminationGracePeriodSeconds: 376 + # 6m in-flight SLF + 30s drain buffer + 1s + terminationGracePeriodSeconds: 391 seccompLocalhostProfile: profiles/nsjail-seccomp.json