HBASE-27660 Ignore invalid hostname when getNetworkInterfaces (#5052)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
parent
10037df035
commit
4bee21e96b
|
@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue;
|
|||
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
@ -89,9 +90,7 @@ public class TestRegionServerHostname {
|
|||
|
||||
@Test
|
||||
public void testRegionServerHostname() throws Exception {
|
||||
Enumeration<NetworkInterface> netInterfaceList = NetworkInterface.getNetworkInterfaces();
|
||||
while (netInterfaceList.hasMoreElements()) {
|
||||
NetworkInterface ni = netInterfaceList.nextElement();
|
||||
for (NetworkInterface ni : getValidNetworkInterfaces()) {
|
||||
Enumeration<InetAddress> addrList = ni.getInetAddresses();
|
||||
// iterate through host addresses and use each as hostname
|
||||
while (addrList.hasMoreElements()) {
|
||||
|
@ -205,4 +204,22 @@ public class TestRegionServerHostname {
|
|||
assertEquals(expectedRS, servers.size());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean ignoreNetworkInterface(NetworkInterface networkInterface) throws Exception {
|
||||
return networkInterface == null || networkInterface.isLoopback() || networkInterface.isVirtual()
|
||||
|| !networkInterface.isUp();
|
||||
}
|
||||
|
||||
private List<NetworkInterface> getValidNetworkInterfaces() throws Exception {
|
||||
List<NetworkInterface> validNetworkInterfaces = new ArrayList<>();
|
||||
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||
while (interfaces.hasMoreElements()) {
|
||||
NetworkInterface networkInterface = interfaces.nextElement();
|
||||
if (ignoreNetworkInterface(networkInterface)) {
|
||||
continue;
|
||||
}
|
||||
validNetworkInterfaces.add(networkInterface);
|
||||
}
|
||||
return validNetworkInterfaces;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue