You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-ups from docs#73: the graceful-shutdown pages say a cancel behaves identically on every engine, and that ShutdownTimeout bounds only the hooks #738
Follow-ups from goceleris/docs#73 (#673's docs), left open under the maintainer's two-round review cap (2026-09-27). CodeRabbit left two MINOR threads on docs#73. Both claims were checked against the docs at head 15a75d2 and celeris main fee0d1c, and both hold. They are tracked here instead of in that PR. Both sit where #703 will change the rule (today hook timing and the drain differ by engine), so the #703 lane should fix the text together with its fix.
1. graceful-shutdown.md:24-26 (at 15a75d2) says a cancelled context "behaves identically across std and the native Linux engines".
The same page says hook timing depends on the engine: on std and adaptive the hooks run after the drain, on epoll and io_uring they can run while requests are still in flight (the "Shutdown sequence" section).
2. Config.ShutdownTimeout is described as applying only to the hook phase, and getting-started promises every request finishes.
graceful-shutdown.md, the "Entry points at a glance" rows for StartWithContext and StartWithListenerAndContext, say the timeout is "applied to the hook phase".
On std and adaptive the watcher's Shutdown uses one context, bounded by ShutdownTimeout, for the engine drain and then every hook (celeris server.go listenUntilCancelled, then shutdown). The same page's note, "The shutdown context is shared across the engine drain and every hook", already says so.
getting-started.md:191-192 (the code comment) and 200-201 say StartWithContext returns "after in-flight requests have finished". When the deadline expires first, the engine closes the remaining connections (engine contract, celeris engine/engine.go), so those requests do not finish.
Fix: describe ShutdownTimeout as one deadline shared by the drain and the hooks on std and adaptive, and say the drain is attempted within it rather than promising every request finishes.
3. graceful-shutdown.md cites stale celeris/server.go line numbers. (CodeRabbit MINOR on docs#73 head 141386b.)
The entry-point table cites celeris/server.go:354, 367, 705, 716, 771, and the FAQ cites server.go:777-780. At celeris main fee0d1c, Start is at 390, Shutdown at 453, StartWithListener at 855, StartWithListenerAndContext at 870, listenUntilCancelled at 899 (the 30 s default at 901-903) and StartWithContext at 974.
The page's other locators (for example server.go:515-540 for PauseAccept and 748-763 for InheritListener) predate the v1.6.0 changes too.
Fix: refresh every server.go locator on the page against the release commit, or cite symbols instead of line numbers, as the rest of the docs#73 text does (for example celeris/server.go (Shutdown)).
Follow-ups from goceleris/docs#73 (#673's docs), left open under the maintainer's two-round review cap (2026-09-27). CodeRabbit left two MINOR threads on docs#73. Both claims were checked against the docs at head 15a75d2 and celeris main fee0d1c, and both hold. They are tracked here instead of in that PR. Both sit where #703 will change the rule (today hook timing and the drain differ by engine), so the #703 lane should fix the text together with its fix.
1. graceful-shutdown.md:24-26 (at 15a75d2) says a cancelled context "behaves identically across
stdand the native Linux engines".stdandadaptivethe hooks run after the drain, onepollandio_uringthey can run while requests are still in flight (the "Shutdown sequence" section).2.
Config.ShutdownTimeoutis described as applying only to the hook phase, and getting-started promises every request finishes.StartWithContextandStartWithListenerAndContext, say the timeout is "applied to the hook phase".stdandadaptivethe watcher'sShutdownuses one context, bounded byShutdownTimeout, for the engine drain and then every hook (celeris server.golistenUntilCancelled, thenshutdown). The same page's note, "The shutdown context is shared across the engine drain and every hook", already says so.StartWithContextreturns "after in-flight requests have finished". When the deadline expires first, the engine closes the remaining connections (engine contract, celeris engine/engine.go), so those requests do not finish.ShutdownTimeoutas one deadline shared by the drain and the hooks onstdandadaptive, and say the drain is attempted within it rather than promising every request finishes.3. graceful-shutdown.md cites stale
celeris/server.goline numbers. (CodeRabbit MINOR on docs#73 head 141386b.)celeris/server.go:354,367,705,716,771, and the FAQ citesserver.go:777-780. At celeris main fee0d1c,Startis at 390,Shutdownat 453,StartWithListenerat 855,StartWithListenerAndContextat 870,listenUntilCancelledat 899 (the 30 s default at 901-903) andStartWithContextat 974.server.go:515-540for PauseAccept and748-763for InheritListener) predate the v1.6.0 changes too.server.golocator on the page against the release commit, or cite symbols instead of line numbers, as the rest of the docs#73 text does (for exampleceleris/server.go(Shutdown)).