Commit 8bd2d30
committed
fix(restheart-mongo): bound JVM heap to prevent OOM on shared CI runners
RESTHeart 9.x's default JVM uses MaxRAMPercentage=25, which on a
typical Woodpecker runner cgroup (~8GB) lands ~2GB heap. With the
keploy/enterprise compat matrix running 3 restheart cells concurrent
alongside parse-server / umami / doccano cells (12 lane-cells total
on one runner), aggregate memory pressure triggers cgroup OOM and
the kernel SIGKILLs lighter processes (bash, curl) mid-bootstrap.
Observed in keploy/enterprise pipeline 3721/26 (record-stable-replay-pr):
RESTHeart came up cleanly (`127.0.0.1:18070 is now reachable`), then
`bash flow.sh bootstrap 240` got SIGKILL'd (exit 137) before any
seed PUTs landed. Same shape across all 3 restheart cells in 3721.
Cap heap at -Xmx512m (start at -Xms128m). Local single-cell
record/replay peaks at ~280MB heap, so 512m is comfortable headroom
without bleeding into neighbours. With the bound, each cell's
footprint stays under ~700MB (heap + native + mongo); 3 restheart
cells fit alongside other lanes on a shared runner.
Validated locally: cell record-pr-replay-pr 296/0 PASSED with the
new JAVA_TOOL_OPTIONS in place. RESTHeart logs confirm
"Picked up JAVA_TOOL_OPTIONS: -Xms128m -Xmx512m ..." at startup.1 parent 62cb46a commit 8bd2d30
1 file changed
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
31 | 47 | | |
32 | 48 | | |
33 | 49 | | |
| |||
0 commit comments