Skip to content

Conversation

@nicolagi
Copy link
Contributor

@nicolagi nicolagi commented Feb 9, 2026

Summary

  • Switch JVM garbage collector from G1GC to ShenandoahGC for lower pause times (dependency-api and dependency-www)
  • Bump generic-charts to v2.0.10 which supports the garbageCollector knob

Test plan

  • Verify ArgoCD diff shows ShenandoahGC in JAVA_OPTS for both services
  • Monitor GC pause times after deploy

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated chart dependency versions to v2.0.12 across deployment configurations
    • Added Shenandoah garbage collector option to JVM configuration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@flow-tech
Copy link
Contributor

Argo diff output for dependency-www:
===== /Service production/dependency-www ======
11c11
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

===== apps/Deployment production/dependency-www-live ======
16c16
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60
552,553c552,554
<           value: -Xms2100m -Xmx2100m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom.bin
<             -XX:+UseG1GC -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256
---
>           value: -Xms2100m -Xmx2100m -XX:+UseShenandoahGC -XX:+HeapDumpOnOutOfMemoryError
>             -XX:HeapDumpPath=/dumps/oom.bin -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256
>             -Xlog:gc*:stdout:time,uptime,level,tags

===== datadoghq.com/DatadogMonitor datadog/dependency-www-errorrate ======
145d144
<   - generated:kubernetes

===== networking.istio.io/Gateway production/dependency-www-flow-io ======
17c17
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

===== networking.istio.io/VirtualService production/dependency-www-live ======
12c12
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

@flow-tech
Copy link
Contributor

Argo diff output for dependency-api:
===== /Service production/dependency ======
11c11
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

===== apps/Deployment production/dependency-api-live ======
16c16
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60
552,553c552,554
<           value: -Xms2100m -Xmx2100m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dumps/oom.bin
<             -XX:+UseG1GC -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256
---
>           value: -Xms2100m -Xmx2100m -XX:+UseShenandoahGC -XX:+HeapDumpOnOutOfMemoryError
>             -XX:HeapDumpPath=/dumps/oom.bin -XX:+UseStringDeduplication -XX:FlightRecorderOptions=stackdepth=256
>             -Xlog:gc*:stdout:time,uptime,level,tags

===== datadoghq.com/DatadogMonitor datadog/dependency-api-errorrate ======
145d144
<   - generated:kubernetes

===== networking.istio.io/Gateway production/dependency-flow-io ======
17c17
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

===== networking.istio.io/VirtualService production/dependency-api-live ======
12c12
<     helm.sh/chart: flow-generic-1.6.59
---
>     helm.sh/chart: flow-generic-1.6.60

Includes fix to disable the major GC pause DD monitor for
ShenandoahGC, since the metric includes concurrent phase times.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Feb 11, 2026

📝 Walkthrough

Walkthrough

Updates two deployment configurations with chart version bump from v2.0.7 to v2.0.12 and adds ShenandoahGC garbage collector option to JVM configuration for both dependency-api and dependency-www services.

Changes

Cohort / File(s) Summary
Chart Version Updates
deploy/dependency-api/app.yaml, deploy/dependency-www/app.yaml
Updates Argo CD Application manifests to reference chart version v2.0.12 instead of v2.0.7.
JVM Garbage Collector Configuration
deploy/dependency-api/values.yaml, deploy/dependency-www/values.yaml
Adds ShenandoahGC garbage collector option to jvmOpts configuration for both services.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'FDN-4261: switch to Shenandoah GC' directly and clearly summarizes the main change—switching from G1GC to ShenandoahGC for the JVM garbage collector across two services (dependency-api and dependency-www).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


No actionable comments were generated in the recent review. 🎉


Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants