apache / apache/servicecomb-java-chassis
A服务RPC调用B服务找不到可用地址时,导致当前线程上下文被清除,接着再调用C服务时取CSE上下文报空指针异常
- 主要言語
- Java
- スター
- 1.9k
- フォーク
- 814
- 平均マージ
- 8日 23時間
- マージ済み PR(30日)
- 1
説明
1、当前线程A服务代码中第73行使用RPC方式异步调用B服务:

2、负载均衡没有找到B服务可用的地址:

3、A服务当前线程上下文被清除:

4、A服务当前线程再接着调用C服务时,从上下文中获取参数时报空指针:

コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
73 行目の A-service コードから始め、load balancer が利用可能な B-service のアドレスを見つけられない場合のスレッドコンテキストの処理を追跡してください。続く C-service 呼び出しを再現し、スクリーンショットに示されているコンテキスト検索を調査してください。完了条件は、後続の C-service 呼び出し中に失敗経路が null ポインター例外を引き起こさなくなることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- backend, distributed-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100