apache / apache/brpc

brpc服务端下电一个节点,brpc客户端并没有重新选择链接,持续上报EPOLLOUT错误,连接超时。

Open
#3,148 6 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

**Describe the bug**
出现问题的场景:brpc服务端下电一个节点,brpc客户端并没有重新选择链接,持续上报EPOLLOUT错误,连接超时。
Image
待brpc服务端重新上电后,客户端连接恢复。

Image

**To Reproduce**
目前只遇到过一次

**Expected behavior**
期望brpc重新发起socket连接,并且连接成功,而不是一直等待原节点。

**Versions**
OS:ubuntu
Compiler:g++
brpc:1.9
protobuf:

**Additional context/screenshots**

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.