drainGracePeriod and requestLifespan both defaulted to 15*60 seconds.
pegboard-outbound computes sleep_until_drain as
request_lifespan.saturating_sub(drain_grace_period), so when both are
equal, drain fires the instant the outbound HTTP request opens. Every
fresh actor allocation then receives GoingAway before reaching Running,
producing guard.actor_ready_timeout failures on default config.
Set drainGracePeriod default to 60s, giving the outbound a 14-minute
working window before drain. Add comment documenting the constraint
that drainGracePeriod must be strictly less than requestLifespan.
Also adds an increment-only load-test harness (scripts/load-test.ts +
load-test-counter actor) used to verify the fix. With the fix, 10-worker
5-min run achieves 99.96% success vs 0% on bare defaults.
Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context.
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist: