🤖 perf: pool members read GET /api/v2/users/me on every workspace read, doubling the request budget
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 65/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- go, kubernetes
- Domaine
- backend, documentation, performance
Piste de recherche
Start in internal/controller/coderworkspacepoolmember_ready.go at readPoolMemberWorkspace and confirmPoolMemberCreate to see the per-member GET /api/v2/users/me call. Cache the operator user ID keyed by the token Secret's resourceVersion, preserving provenance checks, then update the measured table in docs/how-to/workspace-pools.md. Done means member reads no longer call /api/v2/users/me and request counts match the plan budget.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Measured in Kind with Coder v2.37.2 while working on #441 (#153 plan PR 12): a pool of 10 ready members makes 26 Coder requests per minute. Plan section 9 budgets at most 13.
Each member read sends two requests: GET /api/v2/workspaces/<id> and GET /api/v2/users/me (readPoolMemberWorkspace and confirmPoolMemberCreate in internal/controller/coderworkspacepoolmember_ready.go). So a ready member makes 2 requests per minute and a member that builds makes 24 instead of 12. The pool adds 6 per minute.
/api/v2/users/me is one path for every member of the operator, and Coder rate-limits per user and per path (512 per minute by default, coderd/httpmw/ratelimit.go keyByNormalizedEndpoint). From the measured rates, about 500 ready members or about 40 members that build reach that limit (inferred, not tested at that size).
Proposal
Read the operator user once per operator token (for example, cache the ID keyed by the token Secret's resourceVersion) instead of once per member read, and keep the provenance checks that use it. Then update the measured table in docs/how-to/workspace-pools.md.
Trigger
Before pools are recommended for more than a few dozen members, or together with #153 plan PR 13.
Refs #153
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh
- Langage dominant
- Go
- Étoiles
- 5
- Forks
- 3
- Merge moyen
- 1 h 50 min
- PR mergées (30 j)
- 160
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coder/coder-k8s
-
CoderWorkspacePool: count bound and used members only when their owner matches the pool's ownerOuverte
Difficulté 3/5 Une demi-journée Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de coder/coder-k8s
Issues similaires
-
Support kubevirt CRDsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rancher/rancher-ai-mcp#206 ·
Les mainteneurs répondent en général sous 1 jour
-
test: make command and stdio startup tests portablePeut-être pris @dajiaohuang l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
mark3labs/mcp-go#1220 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Project submission: Agent8088Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
open-telemetry/opentelemetry-go-compile-instrumentation#1743 ·
Les mainteneurs répondent en général sous 2 jours
-
FindInBatches panics for non-positive batch sizesPeut-être pris @Dazhou-del l’a pris aujourd’hui. Ouvertetype:with reproduction steps
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour