Build sessionPool blocking when the connection address is incorrect but the connection can still be established.
まだ誰も着手していません。
評価
調査の方向性
SessionPool のコンストラクタから始め、未設定のタイムアウトがどのように TProtocol に到達するかを追跡し、その後、報告でブロックが観測されている verifyClientVersion() と recv_verifyClientVersion() を調べてください。NebulaGraph Studio のアドレスのような、到達可能だが正しくないホストを使って再現してください。デフォルトのタイムアウトが短くなり、セッションプールの構築が無期限に待機しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
**Describe the bug **
我基于sessionPool进行session管理,并且将sessionPool注册为spring boot bean,但是我们公司测试同事在配置时,错误的将NebulaGraph Studio访问端口配置成了hostAddress,导致服务长时间阻塞于启动状态。
因为我们基于k8s部署,设置了就绪探针,在阻塞几分钟后就被自动重启了,然后一直重复上述的步骤,且期间没有任何可以参考的日志。
后续排查到,最终阻塞在了最后的verifyClientVersion方法内部的recv_verifyClientVersion()。
最终执行到readMessageBegion()之后就阻塞住了。
原因应该是我没有设置timeout,前面一段默认在构建TProtocol时timeout给了一个Integer.MAX_VALUE。
但是一般程序就绪探针的不会设置这么长的时间,这就导致还没有等到超时报错程序就被杀死重启了。
对于这个默认的timeout时间是否可以进行缩短。
**Your Environments **
- JDK:
11
How To Reproduce
- 构建SessionPool时不设置timeout参数
- host设置为一个能连通当不正确的地址,如NebulaGraph Studio的访问地址
- 调用sessionPool构造器
Expected behavior
缩短在timeout未设置时传递给TProtocol的timeout值
Additional context
- 主要言語
- Java
- スター
- 199
- フォーク
- 125
- 平均マージ
- 5時間 6分
- マージ済み PR(30日)
- 3
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
vesoft-inc/nebula-java のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
vesoft-inc/nebula-java#654 ·
-
【5.2.1】在获取连接时偶发报错再び着手できるかも @Nicole00 が 186 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンaffects/none severity/none type/bug
vesoft-inc/nebula-java#644 · 担当者 1 名 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
vesoft-inc/nebula-java#629 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
vesoft-inc/nebula-java#621 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
vesoft-inc/nebula-java#617 ·
vesoft-inc/nebula-java の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openhab/openhab-core#5847 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
apache/parquet-java#3820 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
beehive-lab/jllm#187 ·