Skip to content

Commit

Permalink
Ignore empty address
Browse files Browse the repository at this point in the history
  • Loading branch information
wxf committed Jan 7, 2021
1 parent 0deb207 commit ba5d932
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/brpc/policy/discovery_naming_service.cpp
Expand Up @@ -277,7 +277,9 @@ int DiscoveryClient::DoRegister() {
std::vector<butil::StringPiece> addrs;
butil::SplitString(_params.addrs, ',', &addrs);
for (size_t i = 0; i < addrs.size(); ++i) {
os << "&addrs=" << addrs[i];
if (!addrs[i].empty()) {
os << "&addrs=" << addrs[i];
}
}

os << "&env=" << _params.env
Expand Down
5 changes: 4 additions & 1 deletion test/brpc_naming_service_unittest.cpp
Expand Up @@ -627,6 +627,7 @@ class DiscoveryNamingServiceImpl : public test::DiscoveryNamingService {
bool HasAddr(const std::string& addr) const {
return _addrs.find(addr) != _addrs.end();
}
int AddrCount() const { return _addrs.size(); }

private:
int _renew_count;
Expand Down Expand Up @@ -685,12 +686,14 @@ TEST(NamingServiceTest, discovery_sanity) {
ASSERT_FALSE(svc.HasAddr("http://10.0.0.1:8000"));

// addrs splitted by `,'
dparam.addrs = ("grpc://10.0.0.1:8000,http://10.0.0.1:8000");
dparam.addrs = ",grpc://10.0.0.1:8000,,http://10.0.0.1:8000,";
{
brpc::policy::DiscoveryClient dc;
ASSERT_EQ(0, dc.Register(dparam));
ASSERT_TRUE(svc.HasAddr("grpc://10.0.0.1:8000"));
ASSERT_TRUE(svc.HasAddr("http://10.0.0.1:8000"));
ASSERT_FALSE(svc.HasAddr(std::string()));
ASSERT_EQ(2, svc.AddrCount());
}
}

Expand Down

0 comments on commit ba5d932

Please sign in to comment.