apache / apache/iotdb-client-csharp

网络波动后导致获取连接失败

未关闭
#58 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。