docs: epoll's shutdown now sends what the sockets have not taken yet, until the deadline (celeris#760) - #81
Open
FumingPower3925 wants to merge 3 commits into
Open
FumingPower3925 wants to merge 3 commits into
FumingPower3925 wants to merge 3 commits into
Conversation
… until the deadline (celeris#760)
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
goceleris-docs | d897b9c | Commit Preview URL Branch Preview URL |
Sep 29 2026, 11:33 AM |
…til it is done, no longer than WriteTimeout (celeris#760)
FumingPower3925
marked this pull request as ready for review
September 29, 2026 11:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Matches goceleris/celeris#807 (fixes celeris#760). Merge after it.
epoll's shutdown (and adaptive's while it runs epoll) now sends what the sockets have not taken yet before it closes the connections, while the shutdown's context is live: until its deadline, or, for a
ctxwith no deadline such ascontext.Background(), until thatctxis done; never for longer thanConfig.WriteTimeoutnor for less than 250 ms. The graceful-shutdown page described the old gap ("each connection is then closed without flushing what the socket has not taken yet"); it now says what the native engines do, keeps the old behaviour as the pre-v1.6.0 note, and names io_uring's own 250 ms bound (celeris#806). The shutdown sequence's step 3 and the FAQ's deadline answer gain the send step. The measured line gains the new result (the same 3 MiB response to a 64 KiB-receive-buffer client that starts reading 1 s later arrives whole on std, epoll and adaptive; on io_uring it depends on the kernel, and a CI runner cut it at 2,634,119 of 3,145,728 body bytes: celeris#806's comment).Round 2 (celeris#807's review): the no-deadline case (a
Shutdown(context.Background())got only the 250 ms floor before #807's round 2) and theWriteTimeoutbound are added to the paragraph.