No available address for listener with network type: TCP, filter list
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.2k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
[2025-03-14T22:18:34.450205338+08:00 monitor_collect:416868 Listener.cc:87 ERROR] No available address for listener with network type: TCP, filter list:
[2025-03-14T22:18:34.450235037+08:00 monitor_collect:416868 ServiceGroup.cc:26 ERROR] error: RPC::ListenFailed(2011)
[2025-03-14T22:18:34.450243611+08:00 monitor_collect:416868 Server.cc:27 ERROR] Setup group (MonitorCollector) failed: RPC::ListenFailed(2011)
[2025-03-14T22:18:34.450250294+08:00 monitor_collect:416868 Server.cc:31 ERROR] Server::setup failed: RPC::ListenFailed(2011)
[2025-03-14T22:18:34.450259443+08:00 monitor_collect:416868 OnePhaseApplication.h:101 FATAL] Setup server failed: RPC::ListenFailed
#这里需要调整对应的配置文件
#这个是源代码
case Address::TCP:
return nic.starts_with("en") || nic.starts_with("eth");
case Address::IPoIB:
return nic.starts_with("ib");
case Address::RDMA:
return nic.starts_with("en") || nic.starts_with("eth");
配置
[server.base.groups.listener]
filter_list = ["bond0", "bond1"] # 或者 "ens4f0np0"
listen_port = 10000
或者修改重新编译:
vim /home/3fs/src/common/net/Listener.cc
static bool checkNicType(std::string_view nic, Address::Type type) {
switch (type) {
case Address::TCP:
return nic.starts_with("en") || nic.starts_with("eth") || nic.starts_with("bond");
case Address::IPoIB:
return nic.starts_with("ib");
case Address::RDMA:
return nic.starts_with("en") || nic.starts_with("eth") || nic.starts_with("bond");
case Address::LOCAL:
return nic.starts_with("lo");
default:
return false;
}
}
这里配置了bond依然异常,是getNetworkInterfaces()和checkNicType()不支持bond*设备吗?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read common/net/Listener.cc and trace getNetworkInterfaces() into checkNicType(), focusing on how TCP interfaces are filtered. Reproduce listener setup with filter_list values such as bond0 and bond1, then verify whether bond devices are discovered and accepted so the listener starts successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100