From 7b07e00f900d05660265d0c1aa92db6eae755c68 Mon Sep 17 00:00:00 2001 From: Daan Meijer Date: Sat, 10 Oct 2026 17:21:24 +0200 Subject: [PATCH] Rebuild: the stream waits up to an hour for a chunk Some groups' chunks take 20+ minutes while still coming in (range 154153: 17 MB in 22 minutes); the stream's 15-minute wait failed their workers (two in 15 minutes). Stalled requests are given up separately. Co-Authored-By: Claude Opus 5.5 --- app/controllers/node_controller.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/node_controller.ts b/app/controllers/node_controller.ts index 852a72d..cd3dddd 100644 --- a/app/controllers/node_controller.ts +++ b/app/controllers/node_controller.ts @@ -6,8 +6,12 @@ import BatchStore, { StaleBatch } from '#services/batch_store' import Spool from '#services/spool' import { KEEPALIVE, encodeFrame, fromWire, type WireBatch } from '#lib/edge/index' -/** How long the stream waits for a chunk the prefetcher hasn't spooled yet. */ -const CHUNK_WAIT_MS = 15 * 60 * 1000 +/** + * How long the stream waits for a chunk the prefetcher hasn't spooled yet. Long: a chunk that keeps + * coming in isn't given up (only a stalled one is), and some groups' chunks take 20+ minutes + * (a.b.0day.stuffz, 17 MB in 22 min; LOG.md 2026-10-10 (3)). + */ +const CHUNK_WAIT_MS = 60 * 60 * 1000 /** While waiting, an empty frame this often: an HTTP client gives up on a quiet body (Node's after 5 minutes). */ const KEEPALIVE_MS = 20_000