feat(EC-1816): add multi-component stress benchmark#3331
Conversation
Add a stress benchmark under benchmark/stress that validates a snapshot with many components using 35 workers, simulating the workload that caused the OOM incident (EC-1805). Component count and worker count are parameterized via EC_STRESS_COMPONENTS and EC_STRESS_WORKERS env vars. Resolves: EC-1816 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ReviewFindingsLow
Info
|
| } | ||
| n, err := strconv.Atoi(v) | ||
| if err != nil { | ||
| panic(fmt.Sprintf("invalid %s value %q: %v", name, v, err)) |
There was a problem hiding this comment.
[low] edge-case
envInt does not validate that the returned integer is positive. Setting EC_STRESS_COMPONENTS=0 produces a snapshot with zero components, and EC_STRESS_WORKERS=0 or a negative value is passed directly to --workers. These degenerate inputs silently produce meaningless benchmark results rather than failing fast.
Suggested fix: Add a lower-bound check after parsing: if n < 1 { panic(fmt.Sprintf("%s must be >= 1, got %d", name, n)) }
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 13 files with indirect coverage changes 🚀 New features to boost your workflow:
|
benchmark/stress/that validates a multi-component snapshot with 35 workers, simulating the workload that caused the OOM incident (EC-1805)EC_STRESS_COMPONENTS, default 10) and worker count (EC_STRESS_WORKERS, default 35) are parameterized via env vars for CI tuningbenchmark/internal/suite, registry, untar) and the same golden-container image data, duplicated across components at runtimeResolves: EC-1816