Repository navigation
🤖 docs: clarify log follow end and Unchanged, document the Coder rate limit for logs - #252
Conversation
… limit for logs (Refs #193) Change-Id: I5fb09db063086f3125cbeba4c657b025039eded9 Signed-off-by: Thomas Kosiewski <tk@coder.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex security review |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 80c823b086
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… the size limit Change-Id: I67ed066a043d6e28ef09423a2439cda29b45fc13 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 772fcd285e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… the limits Change-Id: I25a9aa1b0292e5b68ae7c5aec6a6db09cf35acf5 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
The parts of #193 (workspace log follow-ups) that need no product decision: the two how-to wording fixes (item 2), and the Coder rate limit documented next to the log limits (the documentation half of item 3). Two new test assertions pin the documented request counts and the missing
Retry-After. Also one carry-over from the #247 assessment: the "Coder timeouts" summary row now mentions the500on a create.Refs #193
Changes
docs/how-to/start-stop-workspaces.md(item 2):Unchanged: the workspace is already started or stopped" now says: only when the latest build of that kind succeeded. After a failed or canceled build, the request queues a new build (decideTransitionininternal/aggregated/storage/workspace_transition.go:264-282).docs/reference/aggregated-api-behavior.md:Unchangedbullet and the409hint).CODER_API_RATE_LIMIT. A snapshot makes 2 Coder requests (workspace lookup, log read), andfollow=truemakes 1 more that opens the live stream and then sends no further requests. A Coder429reaches the client with Coder's message and withoutRetry-After.504on a write, or a500on a create, re-read before you retry."TestWorkspaceLogSnapshotasserts that a snapshot makes exactly 2 Coder requests (1 lookup, 1 log read). The fake Coder now counts all requests.TestWorkspaceLogFollowStreamsLiveEntriesasserts 3 requests for a follow.429case ofTestMapCoderErrorasserts that the mapped error keeps Coder's message and suggests no client delay (apierrors.SuggestsClientDelay), so noRetry-Afteris sent.Not in this PR (product decisions)
tailLinesoncoderworkspaces/log. This is new API surface. It needs decisions on howtailLinescombines withlimitBytesandfollow=true, and on what a cut snapshot means for "the last N lines". Coder returns the log from the start, so the server must read up to the 4 MiB snapshot cap and keep a bounded ring buffer. The issue's trigger is user demand.Retry-Afteron.*codersdk.Errordoes not expose response headers, so the server cannot read Coder'sRetry-Afterwithout bypassing the SDK. client-go also retries a response withRetry-Afteron its own, up to 10 times (vendor/k8s.io/client-go/rest/request.go:483). Every Kubernetes client shares the one operator token, so automatic retries could make the rate limiting worse. Whether that is wanted is a product decision. Today the429has noRetry-After, and the new docs and test say so.#215 item 2 (an unconfigured standalone server returns
503on a namespaced LIST) is not touched.Validation
make verify-vendor,make test,make test-integration,make build,make lint,make docs-check,GOFLAGS=-mod=vendor go tool govulncheck ./...,go test -raceoninternal/aggregated/coderandinternal/aggregated/storage, and the CI versions of markdownlint-cli2 (0.18.1) and cspell (8.19.4) ondocs/**/*.md.Generated with
mux• Model:anthropic:claude-opus-5-5• Thinking:high