MultiSubnetFailover parallel connect fails if one address errors immediately (managed SNI)
メンテナーはふだん 2 日以内に返信
評価
この issue はまだ評価されていません。
説明
Describe the bug
With MultiSubnetFailover=true, managed SNI (SniTcpHandle.ParallelConnect) connects to all resolved addresses in parallel. If one address fails immediately on Socket.Connect (any error other than WouldBlock, e.g. HostUnreachable, NetworkUnreachable, AddressFamilyNotSupported), the exception escapes the loop:
- The whole connection fails, even when another address is reachable.
- Sockets already created are not disposed.
Common case: a host resolves to IPv4 + IPv6, and the client has no IPv6 route (containers, VPNs, some cloud networks).
This matters more once MSF is on by default (#4876, #4927).
To reproduce
Call ParallelConnect with [<unreachable address>, 127.0.0.1] where a listener is on the loopback port. It throws instead of returning the loopback socket.
Expected behavior
Skip addresses that fail immediately, keep trying the rest, and dispose every non-selected socket on all exit paths.
Further technical details
Microsoft.Data.SqlClient: main
.NET: 10.0 (managed SNI; Unix, or Windows with managed networking)
- 主要言語
- C#
- スター
- 1k
- フォーク
- 352
- 平均マージ
- 4日 17時間
- マージ済み PR(30日)
- 81
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dotnet/SqlClient のほかの issue
-
Auto-Triage: Waiting for Author
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
dotnet/SqlClient#4939 · コメント 3 件 ·
メンテナーはふだん 2 日以内に返信
-
Sync ExecuteReader on an STA thread deadlocks against a StateChange handler that marshals to the UI thread (OpenAsyncRetry path)再び着手できるかも @mdaigle が 40 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンExternal :link:
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
dotnet/SqlClient#4534 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
-
Area\Tests
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
dotnet/SqlClient#4377 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
Approval Needed Code Health :pill: Common Project 🚮 Design Review Needed Up-for-Grabs :raised_hands:
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
メンテナーはふだん 2 日以内に返信
-
Code Health :pill: Up-for-Grabs :raised_hands:
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
dotnet/SqlClient#4937 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
dotnet/SqlClient の issue をすべて見る
似ている issue
-
bug 優先: 低
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
area-ai bug untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
dotnet/extensions#7893 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100