rpc半同步模式访问, 自定义retry policy, 偶发FATAL日志, A previous non-backed-up call responded
- Dominant language
- C++
- Stars
- 17.6k
- Forks
- 4.1k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 69
Description
**Describe the bug (描述bug)**
**To Reproduce (复现方法)**

半同步访问 + 自定义的retry_policy,client发压,很容易复现, 服务不会挂掉。
FATAL日志:controller.cpp:609] Check failed: current_id() == info.id (9925669421080 vs 9925669421077). error_code=1008
controller.cpp:844] Check failed: false. A previous non-backed-up call responded
**Expected behavior (期望行为)**
rpc半同步模式访问 + 自定义retry policy, 不出现偶发FATAL日志,是否在使用retry policy时候需要注意什么参数。
**Versions (各种版本)**
OS:
Compiler:
brpc:
protobuf:
**Additional context/screenshots (更多上下文/截图)**
Contributor guide
Research direction
Start by inspecting controller.cpp around lines 609 and 844, then reproduce the reported failure with semisynchronous RPC access and a custom retry policy. Check the available issue context and retry-policy parameters while investigating the FATAL logs; done means the scenario no longer emits these failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100