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变化网络波动后就再也连不上了,有概率出现
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start by tracing SessionPool.Reconnect and ExecuteClientOperationAsync, then inspect ConcurrentClientQueue.Take() using the reported InsertAsync path. Reproduce a DDNS address change during a connection and verify that the session pool can reconnect and recover instead of remaining empty or timing out.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp
- 领域
- databases, networking
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100