apache / apache/iotdb-client-csharp
网络波动后导致获取连接失败
- 主要語言
- C#
- 星號
- 24
- 分支
- 6
- PR 合併指標
- 30 天內沒有已合併 PR
描述
```
Apache.IoTDB.SessionPoolDepletedException: SessionPool depletion detected: Reconnection failed
---> Apache.IoTDB.ReconnectionFailedException: Error occurs when reconnecting session pool. Could not connect to any server
at Apache.IoTDB.SessionPool.Reconnect(Client originalClient, CancellationToken cancellationToken)
at Apache.IoTDB.SessionPool.ExecuteClientOperationAsync[TResult](AsyncOperation`1 operation, String errMsg, Boolean retryOnFailure, Boolean putClientBack)
--- End of inner exception stack trace ---
at Apache.IoTDB.SessionPool.ExecuteClientOperationAsync[TResult](AsyncOperation`1 operation, String errMsg, Boolean retryOnFailure, Boolean putClientBack)
at Apache.IoTDB.SessionPool.InsertRelationalTabletAsync(Tablet tablet)
at Apache.IoTDB.TableSessionPool.InsertAsync(Tablet tablet)
```
```
Apache.IoTDB.SessionPoolDepletedException: SessionPool depletion detected: Connection pool is empty and wait time out(2500s)
at Apache.IoTDB.ConcurrentClientQueue.Take()
at Apache.IoTDB.SessionPool.ExecuteClientOperationAsync[TResult](AsyncOperation`1 operation, String errMsg, Boolean retryOnFailure, Boolean putClientBack)
at Apache.IoTDB.SessionPool.InsertRelationalTabletAsync(Tablet tablet)
at Apache.IoTDB.TableSessionPool.InsertAsync(Tablet tablet)
```
因为使用的DDNS,中途出现IP变化网络波动后就再也连不上了,有概率出现
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
先追蹤 SessionPool.Reconnect 和 ExecuteClientOperationAsync,接著使用回報的 InsertAsync 路徑檢查 ConcurrentClientQueue.Take()。在連線期間重現 DDNS 位址變更,並確認工作階段集區能夠重新連線並復原,而不是維持空白或逾時。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp
- 領域
- databases, networking
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100