apache / apache/brpc

brpc故障恢复bug

Open
#2,146 28 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
17.6k
Forks
4.1k
Avg merge
2d 12h
Merged PRs (30d)
69

Description

注入网络重启故障 network restart,brpc channel发送rpc request一直超时
日志一直打印:[E112]Not connected to xxxx yet

对应代码位于:Controller::IssueRPC
![image](https://user-images.githubusercontent.com/13553842/222721053-adef5162-f6db-46c9-8774-25c056b248b8.png)

brpc版本:0.9.7

bvar看channel是broken的,这样导致brpc一直无法自动恢复。有点像是socket管理的bug,broken的channel没用调用connect重连

Contributor guide

Open the contributing guide

Research direction

Start at Controller::IssueRPC and reproduce the reported network-restart failure using the brpc 0.9.7 context from the issue. Trace the channel and socket recovery path after the channel becomes broken, then verify that RPC requests reconnect and complete instead of repeatedly timing out with "Not connected" logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.