This is an automated email from the ASF dual-hosted git repository.

mattjackson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new c8db585  Remove InetAddress.getByName usage since it makes DNS 
requests (#4765)
c8db585 is described below

commit c8db585c00afabf1f9845c4c01b94d7ca2109f36
Author: Rawlin Peters <[email protected]>
AuthorDate: Tue Jun 9 15:11:00 2020 -0600

    Remove InetAddress.getByName usage since it makes DNS requests (#4765)
    
    Remove some getAddress toString usage since it does dns lookups
    
    Check if caches is null
    
    Use .equals instead of ==, fix another NPE
    
    Undo ZoneManager NPE fix (SERVFAIL probably better than REFUSED)
---
 .../traffic_control/traffic_router/core/edge/Node.java  | 12 ++++--------
 .../traffic_router/core/router/TrafficRouter.java       | 17 +++++------------
 2 files changed, 9 insertions(+), 20 deletions(-)

diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/edge/Node.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/edge/Node.java
index 21c89fc..ea4158f 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/edge/Node.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/edge/Node.java
@@ -194,24 +194,20 @@ public class Node extends DefaultHashable {
                }
 
                for (final InetRecord record : ipAddresses) {
-                       if (record.getAddress() == ip4 && !ipv4Available) {
+                       if (record.getAddress().equals(ip4) && !ipv4Available) {
                                newlyUnavailable.add(record);
-                               LOGGER.debug("disabling IPv4 address " + 
record.getAddress());
                        }
-                       if (record.getAddress() == ip6 && !ipv6Available) {
+                       if (record.getAddress().equals(ip6) && !ipv6Available) {
                                newlyUnavailable.add(record);
-                               LOGGER.debug("disabling IPv6 address " + 
record.getAddress());
                        }
                }
 
                for (final InetRecord record : unavailableIpAddresses) {
-                       if (record.getAddress() == ip4 && ipv4Available) {
+                       if (record.getAddress().equals(ip4) && ipv4Available) {
                                newlyAvailable.add(record);
-                               LOGGER.debug("enabling IPv4 address " + 
record.getAddress());
                        }
-                       if (record.getAddress() == ip6 && ipv6Available) {
+                       if (record.getAddress().equals(ip6) && ipv6Available) {
                                newlyAvailable.add(record);
-                               LOGGER.debug("enabling IPv6 address " + 
record.getAddress());
                        }
                }
 
diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/TrafficRouter.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/TrafficRouter.java
index 78bbdd2..34adf34 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/TrafficRouter.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/TrafficRouter.java
@@ -17,7 +17,6 @@ package 
com.comcast.cdn.traffic_control.traffic_router.core.router;
 
 import java.io.IOException;
 import java.net.InetAddress;
-import java.net.Inet4Address;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.UnknownHostException;
@@ -812,10 +811,8 @@ public class TrafficRouter {
                        final DeliveryService ds = 
steeringResult.getDeliveryService();
                        List<Cache> caches = selectCaches(request, ds, track);
 
-                       try {
-                               caches = 
editCacheListForIpVersion(InetAddress.getByName(request.getClientIP()) 
instanceof Inet4Address, caches);
-                       } catch (UnknownHostException e) {
-                               LOGGER.debug("Could not parse IP, accepting 
cache list as is.");
+                       if (caches != null) {
+                               caches = 
editCacheListForIpVersion(!request.getClientIP().contains(":"), caches);
                        }
                        // child Delivery Services can use their query 
parameters
                        final String pathToHash = steeringHash + 
ds.extractSignificantQueryParams(request);
@@ -862,7 +859,7 @@ public class TrafficRouter {
         * Creates a string to be used in consistent hashing.
         *<p>
         * This uses simply the request path by default, but will consider any 
and all Query Parameters
-        * that are in deliveryService's {@link 
DeliveryService.consistentHashQueryParams} set as well.
+        * that are in deliveryService's {@link DeliveryService} 
consistentHashQueryParam set as well.
         * It will also fall back on the request path if the query parameters 
are not UTF-8-encoded.
         *</p>
         * @param deliveryService The {@link DeliveryService} being requested
@@ -949,10 +946,8 @@ public class TrafficRouter {
                routeResult.setDeliveryService(deliveryService);
 
                List<Cache> caches = selectCaches(request, deliveryService, 
track);
-               try {
-                       caches = 
editCacheListForIpVersion(InetAddress.getByName(request.getClientIP()) 
instanceof Inet4Address, caches);
-               } catch (UnknownHostException e) {
-                       LOGGER.debug("Could not parse IP, accepting cache list 
as is.");
+               if (caches != null) {
+                       caches = 
editCacheListForIpVersion(!request.getClientIP().contains(":"), caches);
                }
 
                if (caches == null || caches.isEmpty()) {
@@ -1491,8 +1486,6 @@ public class TrafficRouter {
         *            the caches that will considered
         * @param ds
         *            the delivery service for the request
-        * @param request
-        *            the request to consider for cache selection
         * @return the selected cache or null if none can be found
         */
        private List<Cache> selectCaches(final CacheLocation location, final 
DeliveryService ds) {

Reply via email to