Only check the entrypoint's RPC address (#6851)

This commit is contained in:
Michael Vines 2019-11-09 00:56:31 -07:00 committed by GitHub
parent 24a7b0ce74
commit 0fbd508c5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 8 deletions

View File

@ -203,10 +203,13 @@ fn main() -> Result<(), Box<dyn error::Error>> {
let rpc_addrs: Vec<_> = nodes let rpc_addrs: Vec<_> = nodes
.iter() .iter()
.filter_map(ContactInfo::valid_client_facing_addr) .filter_map(|contact_info| {
.map(|addrs| addrs.0) if (matches.is_present("all") || contact_info.gossip == entrypoint_addr)
.filter(|rpc_addr| { && ContactInfo::is_valid_address(&contact_info.rpc)
matches.is_present("all") || rpc_addr.ip() == entrypoint_addr.ip() {
return Some(contact_info.rpc);
}
None
}) })
.collect(); .collect();

View File

@ -181,13 +181,20 @@ fn initialize_ledger_path(
let rpc_addr = nodes let rpc_addr = nodes
.iter() .iter()
.filter_map(ContactInfo::valid_client_facing_addr) .filter_map(|contact_info| {
.map(|addrs| addrs.0) if contact_info.gossip == entrypoint.gossip
.find(|rpc_addr| rpc_addr.ip() == entrypoint.gossip.ip()) && ContactInfo::is_valid_address(&contact_info.rpc)
{
Some(contact_info.rpc)
} else {
None
}
})
.next()
.unwrap_or_else(|| { .unwrap_or_else(|| {
error!( error!(
"Entrypoint ({:?}) is not running the RPC service", "Entrypoint ({:?}) is not running the RPC service",
entrypoint.gossip.ip() entrypoint.gossip
); );
exit(1); exit(1);
}); });