Review fleet reconciliation: what breaks while a gateway rebuilds its view
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- backend
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- TypeScript
- スター
- 15
- フォーク
- 1
- 平均マージ
- 8時間 38分
- マージ済み PR(30日)
- 135
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstackincubator/simlock のほかの issue
-
bug:new
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
callstackincubator/simlock#424 ·
メンテナーはふだん 1 日以内に返信
-
bug:new
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
callstackincubator/simlock#422 ·
メンテナーはふだん 1 日以内に返信
-
bug:new
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
callstackincubator/simlock#420 ·
メンテナーはふだん 1 日以内に返信
-
bug:new
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
callstackincubator/simlock#350 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Flaky e2e: gateway-fleet reads a worker's capacity before the worker has left starting対応中かも @V3RON が今日担当しました。 オープンbug:ready flaky-test
難易度 4/5 1〜2日 初心者へのやさしさ 48/100
callstackincubator/simlock#414 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
callstackincubator/simlock の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
[Bug] remember() with special characters in namespace hangs until timeout instead of returning 400オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MystenLabs/MemWal#1133 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug user-priority/P2
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Effect-TS/effect#8881 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信