Commit 7dac010
committed
fix(helm-prereqs): size the postgres default for the fleet, and warn when it is too small
The default was 4Gi, and at 4,500 hosts that is not survivable. Postgres running
out of memory does not degrade gracefully: the kernel OOM-kills a backend, the
postmaster crash-recovers, and every open connection is dropped with in-flight
transactions rolled back.
Measured on a 4,500-host (13,500 machine) ingestion:
4Gi -> 99.96% memory, 531 OOM kills, 112 crash-recoveries, never completed
24Gi -> ~8.7GiB peak, zero OOM kills, full fleet ingested with every machine
reaching ready (reproduced across three runs at 54-56 machines/min)
The node had 240GB free, so this was a configured limit rather than a hardware
constraint.
What made it expensive is that the failure presents downstream: three separate
issues were filed as product defects during the period it was in effect
(readiness plateau #4750, cleanup panic #4753, and a Postgres deadlock) and none
reproduced once the memory was adequate. Days went into tracing individual state
machines before the memory pressure was noticed.
Raise the default to 16Gi/8CPU (production is documented as 32 CPU / 16Gi, so
this aligns rather than exceeds it) and replace the 'tune down for dev clusters'
comment -- which reads as though 4Gi is a safe dev value -- with fleet-size
guidance and the one-line cgroup check that identifies this condition.
Also warn in setup-machine-a-tron.sh Phase 0 when the live limit is below what
the requested host count wants, so an undersized database is visible at minute
zero instead of hour three. The warning names the reinstall requirement too:
teardown deletes the postgres namespace, so a resize applied to a live cluster
before a reinstall is silently reverted.
Fixes #48391 parent 52b85cc commit 7dac010
2 files changed
Lines changed: 62 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
361 | 390 | | |
362 | 391 | | |
363 | 392 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
197 | 225 | | |
198 | 226 | | |
199 | | - | |
200 | | - | |
| 227 | + | |
| 228 | + | |
201 | 229 | | |
202 | | - | |
203 | | - | |
| 230 | + | |
| 231 | + | |
0 commit comments