A problem in connection closing.
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- haskell
調査の方向性
まず、issue で説明されている A/B シーケンスについて、接続を閉じる際の状態処理を追跡します。特に、Closing、outgoing、incomings に関わる遷移を確認してください。同時に接続と切断を行うシナリオを再現し、outgoing がゼロになり、incomings が空になった時点で重量級の接続が閉じられることを検証してください。
索引モデルが issue の本文から書いたものです。
説明
* A send connect to B (lightid=1024)
A.next_lightid = 1025
A.outgoing = 1
* B send connect to A (lightid=1024)
B.next_lightid = 1025
B.outgoing = 1
* A send close connect to B
A.outgoing = 0
send CloseSocket to B (last_incoming=0)
enter Closing state
* B send close connect to A
B.outgoing = 0
send CloseSocket to A (last_incoming=0)
enter Closing state
* B got connect from A
recover from Closing state.
incomings.add(1024)
* B got close connect from A
incomings.remove(1024)
* A got connect from B
recover from Closing state.
incomings.add(1024)
* A got close connect from B
incomings.remove(1024)
In the end, both A and B's outgong==0 and incomings empty, but the heavyweight connection is not closed.
Maybe we should try CloseSocket again when we got close connection request, and find that outgoing==0 and incomings is empty?
- 主要言語
- Haskell
- スター
- 753
- フォーク
- 101
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
haskell-distributed/distributed-process のほかの issue
-
enhancement Feature Request
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
haskell-distributed/distributed-process#486 · コメント 1 件 · リアクション 1 件 ·
-
discuss enhancement Feature Request
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
haskell-distributed/distributed-process#478 · コメント 4 件 · リアクション 3 件 ·
-
enhancement Feature Request
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
haskell-distributed/distributed-process#476 · リアクション 2 件 ·
-
Demonstrating the use of Cloud Haskell for a Raft implementation再び着手できるかも @LaurentRDC が 481 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement Feature Request
haskell-distributed/distributed-process#475 · リアクション 3 件 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
haskell-distributed/distributed-process#473 · コメント 4 件 · リアクション 1 件 ·
haskell-distributed/distributed-process の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
objectionary/phino#2059 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
NixOS/nixpkgs-update#586 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 83/100
wireapp/wire-server#5632 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100