Skip to content

Commit 2d74d80

Browse files
committed
fix(config): tighten Fiber pending cap to 10 to bound submitter memory
ApplyFiberDefaults set MaxPendingHeadersAndData=50, but each pending data item under Fiber is up to MaxBlobSize (~100 MiB raw). With 3-FSP fan-out and per-attempt retry buffers in flight, 50 items × 3 × retries crossed 64 GiB on c6in.8xlarge under sustained txsim load and the kernel OOM-killed evnode 30 s into the run. 10 keeps the in-flight footprint bounded while still letting healthy uploads pipeline against the actual Fibre RPC latency. Verified by heap profiling: pending pause at ~ 10 × 100 MiB plus fan-out keeps RSS below ~10 GiB, evnode runs indefinitely.
1 parent b876712 commit 2d74d80

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

pkg/config/config.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,12 @@ func (c *Config) ApplyFiberDefaults() {
367367
}
368368

369369
c.DA.BlockTime = DurationWrapper{Duration: 1 * time.Second}
370-
c.Node.MaxPendingHeadersAndData = 50
370+
// Tighter pending cap (was 50). At 50, a Fibre upload stall lets the
371+
// submitter accumulate 50 × ~32 MiB blob copies + their per-validator
372+
// retry buffers; under load that exceeded c6in.8xlarge's 64 GiB and
373+
// OOM-killed evnode at 63.8 GiB. 10 keeps the in-flight footprint
374+
// bounded while still letting healthy uploads pipeline.
375+
c.Node.MaxPendingHeadersAndData = 10
371376
}
372377

373378
// GetNamespace returns the namespace for header submissions.

0 commit comments

Comments
 (0)