fix(dispatch): tijdelijke unknown-inspect maakt een poging niet direct uncertain (T-1973) #104
No reviewers
Labels
No labels
severity/s3
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/scrum4me-docker!104
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/t1973-inspect-tolerance"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Waarom (T-1973, incident 2026-10-03)
Onder IO-druk op scrum4me-server beantwoordde dockerd stop, kill en inspect van een net gestopt kind te laat. Eén broker-inspect gaf
unknownof liep in de timeout van 10 s van de supervisor. De wachtlus gooide dan meteenDISPATCH_RUNTIME_UNCERTAIN, waardoor twee normaal afgeronde reviews (exit 0, geldig resultaat)uncertainwerden. Herstel moest handmatig, met stopbewijs en opnieuw indienen, en kostte ongeveer 30 minuten.Wat
runDispatchAttempttelt eenunknownof eenDISPATCH_SUPERVISOR_TIMEOUTvan inspect als "nog niet bekend":INSPECT_GRACE_MS(3 min, ruim binnen lease enmax_duration), daarna volgtDISPATCH_RUNTIME_UNCERTAIN;created) blijft direct fataal;DISPATCH_RUNTIME_INSPECT_RETRY.ensureStoppedis bewust ongewijzigd. De lus gaat pas verder na een door de broker gezienestopped, en een stop op een gestopte container is dan meteen klaar.inspectGraceMs: 20. De uitkomst is dezelfde veiligeuncertain, met de nieuwe semantiek.Verificatie
unknownen een tijdelijke timeout faalden (de poging werd directuncertain).transcript-retention) en 3docs-audit-publication-tests met een timeout onder parallelle belasting; los draaien die 22 van 22 groen.tsc -p tsconfig.dispatch.jsonis schoon.6b2a7a3: de eerste run gaf 8 van 9, direct na het starten van een verse Postgres; dat was niet te reproduceren. Daarna drie keer 9 van 9.Alleen het supervisor-image verandert; de kindcode, de model-images en de profielen niet.
🤖 Generated with Claude Code
COMMENT
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Geen blokkerende codefout vastgesteld. De wijziging blijft binnen de bestaande supervisor-portstructuur; stopbewijs, centrale result-receipt en cleanup-volgorde blijven behouden. Vanwege onderstaande dekkingstekorten en beperkte runtime-verificatie geef ik geen APPROVED.
Findings
DISPATCH_SUPERVISOR_TIMEOUT; hij test geen inspect die werkelijk blijft hangen en doorboundedna 10 s wordt begrensd. Voeg een fake-timer-test toe voor die route en regressietests voorstopRequired/abort tijdensunknownen reset van de grace narunning.DISPATCH_RUNTIME_INSPECT_RETRYin de lifecycle-sectie vandocs/dispatch-runtime-operator.md, inclusief doorlopende heartbeats en welke fouten direct fataal blijven. Deze operationele gedragswijziging staat nu uitsluitend in broncommentaar.Verificatie
Forgejo
refs/pull/104/headkomt overeen met9239cf426f4c95b552947af9e8ea806b3d872547. Typecheck (node node_modules/typescript/bin/tsc -p tsconfig.dispatch.json) en diff-whitespacecontrole slagen. De testsuite is geprobeerd, maar start niet:/tmpverhindert uitvoering en laden van de native Rolldown-module (Permission denied/failed to map segment). De WASM-fallback-installatie faalde eveneens. Dit is een omgevingsbeperking; testresultaten zijn niet als geslaagd aangemerkt.