brpc服务端下电一个节点,brpc客户端并没有重新选择链接,持续上报EPOLLOUT错误,连接超时。
Open
- Dominant language
- C++
- Stars
- 17.6k
- Forks
- 4.1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 69
Description
**Describe the bug**
出现问题的场景:brpc服务端下电一个节点,brpc客户端并没有重新选择链接,持续上报EPOLLOUT错误,连接超时。
待brpc服务端重新上电后,客户端连接恢复。
**To Reproduce**
目前只遇到过一次
**Expected behavior**
期望brpc重新发起socket连接,并且连接成功,而不是一直等待原节点。
**Versions**
OS:ubuntu
Compiler:g++
brpc:1.9
protobuf:
**Additional context/screenshots**
Contributor guide
Research direction
No source file or test is identified. Start by reproducing the client behavior while shutting down one server node and inspect how EPOLLOUT errors and socket reconnection are handled; done means the client retries, selects a healthy node, and does not wait for the powered-off node to return.
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
- Needs clarification
- Newbie friendliness
- 35/100