CoderWorkspacePoolMember: recognize a template-wide last_used_at write in a one-member pool
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 30/100
Piste de recherche
Start from the CoderWorkspacePoolMember logic that compares a workspace's last_used_at with the template's updated_at within a 5 s window, and from the 60 s poll that decides whether a member is Used. Reproduce the case where a template schedule update runs, the template changes again before the next poll, and the pool has one member. Done when that member is no longer marked Used and the single-member and multi-member witness paths are both covered by tests. The suggested fix adds one list call, only when the template time does not match.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
A CoderWorkspacePoolMember treats a later last_used_at as use, except for a template-wide write. It recognizes a template-wide write in two ways: the value is within 5 s of the template's updated_at, or another unclaimed member of the pool already moved its baseline to the same value.
When a template schedule update with update_workspace_last_used_at runs, and the template changes again before the next 60 s poll, and no other member of the pool saw the first write (for example a one-member pool), the member marks itself Used. The pool releases it, and one warm workspace leaks.
This is the fail-safe direction: the controller never deletes a workspace that someone may use. But it costs one workspace per affected member.
Possible fix
Also accept as a witness any other workspace of the template in Coder with the same last_used_at (one list call, only when the template time does not match).
Trigger
Before the PR 12 activation docs of #153, or a user report.
Found by Codex on #343 (comment 4268119093).
Refs #153
Found in review of #343 (thread 4268119093); the plan resolves the ambiguity toward Used, which can leak one warm workspace but never deletes possible work.
Refs #153
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium
- Langage dominant
- Go
- Étoiles
- 5
- Forks
- 3
- Merge moyen
- 3 h
- PR mergées (30 j)
- 192
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
-
CoderWorkspacePoolMember checkCreate: trust only Coder's own 404 on the name lookup (before PR 12)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
TestReconcile_LicenseRotationUploadsNewSecretValue fails at -count=3 (reuses a control plane name)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
CoderMCPServer Kind E2E follow-upsPeut-être pris @ThomasK33 l’a pris il y a 8 jours. Ouverte
coder/coder-k8s#390 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
CoderMCPServer delete and RBAC test follow-upsPeut-être pris @ThomasK33 l’a pris il y a 8 jours. Ouverte
coder/coder-k8s#378 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Ownership proof for Coder IDs recorded in controller status (D11 B)Peut-être pris @ThomasK33 l’a pris il y a 8 jours. Ouverte
coder/coder-k8s#372 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de coder/coder-k8s
Issues similaires
-
[Bug]: APIGW request ID headers are inconsistent between server and clientPeut-être pris @zouxingyuks l’a pris aujourd’hui. Ouverteproduct/backlog
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
TencentBlueKing/bk-nodemgr#3782 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
praetorianer777/Dynamo#53 ·
Les mainteneurs répondent en général sous 1 jour
-
internal test setup
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
SAP/terraform-provider-scc#430 ·
-
internal test setup
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
SAP/terraform-provider-btp#1743 ·
Les mainteneurs répondent en général sous 1 jour