Review fleet reconciliation: what breaks while a gateway rebuilds its view
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
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- typescript
- Domaine
- backend
Piste de recherche
Start with the behavior described in #410, then trace how worker reports rebuild the gateway’s lease, device and request state and what requests see during that process. Resolve whether events and component installs are in scope. Done means a list of reconciliation findings, each marked accepted or paired with a proposed fix.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Request: none
Problem
A gateway keeps an in-memory view of the fleet: which worker holds which lease, device and request. It rebuilds that view from what workers report. While it rebuilds — after a gateway restart, a worker reconnect, or a worker forgotten past retention — its view and the workers' truth can disagree. Nobody has reviewed, as a whole, what goes wrong in that window and who wins when the two disagree.
Known case
From #410 (caller-chosen lease IDs). After a gateway restart, the gateway has not yet heard from every worker. A new request with lease ID myid is granted on worker w2, while worker w1 still holds a lease myid from before the restart. When w1 reports, two workers hold myid.
What #410 does today: the first lease reported keeps myid. The gateway logs a warning and does not route to the second. Nobody can renew the second, so it expires at its TTL, holding a device until then.
What this issue asks for
A review of fleet reconciliation for problems of this kind, not only this case:
- every piece of gateway state rebuilt from worker reports, and what a request sees while it is incomplete;
- every clash between the gateway's view and a worker's truth, and which side wins;
- for each, whether the current answer is acceptable or needs a fix.
The output is a list of findings, each with a proposed fix or "accepted". Fixes become their own tasks.
Open questions
- Scope of the review: lease, device and request state only, or events and component installs too?
Written by an agent.
- Langage dominant
- TypeScript
- Étoiles
- 621
- Forks
- 30
- Merge moyen
- 8 h 58 min
- PR mergées (30 j)
- 472
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 callstackincubator/simlock
-
bug:new
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
callstackincubator/simlock#1417 ·
Les mainteneurs répondent en général sous 1 jour
-
os:windows request:new
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
callstackincubator/simlock#1071 ·
Les mainteneurs répondent en général sous 1 jour
-
task:draft
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 1/100
callstackincubator/simlock#1434 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 54/100
callstackincubator/simlock#1433 ·
Les mainteneurs répondent en général sous 1 jour
-
task:draft
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
callstackincubator/simlock#1432 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstackincubator/simlock
Issues similaires
-
Waiting for: Product Owner
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
getsentry/sentry-javascript#26203 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
bytedance/flowgram.ai#1235 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
devswha/herdr-web-ui#3325 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100