You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by zr...@apache.org on 2020/12/12 01:10:58 UTC

[trafficcontrol] branch master updated: Fix TR warning for caches without ipv4 addresses (#5372)

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

zrhoffman 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 7b10e1d  Fix TR warning for caches without ipv4 addresses (#5372)
7b10e1d is described below

commit 7b10e1d00cf1d7d19f2f4ca34aa6a98d8ad174c8
Author: Rawlin Peters <ra...@apache.org>
AuthorDate: Fri Dec 11 18:10:16 2020 -0700

    Fix TR warning for caches without ipv4 addresses (#5372)
    
    It is valid for a cache to not have an ipv4 address, so we should not
    log a warning in that case.
---
 CHANGELOG.md                                       |  1 +
 .../traffic_router/core/dns/ZoneManager.java       | 26 ++++++++++++----------
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 67c2cbd..5a63247 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
 
 ### Fixed
 - [#5195](https://github.com/apache/trafficcontrol/issues/5195) - Correctly show CDN ID in Changelog during Snap
+- Fixed Traffic Router logging unnecessary warnings for IPv6-only caches
 - [#5294](https://github.com/apache/trafficcontrol/issues/5294) - TP ag grid tables now properly persist column filters
     on page refresh.
 - [#5295](https://github.com/apache/trafficcontrol/issues/5295) - TP types/servers table now clears all filters instead
diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/dns/ZoneManager.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/dns/ZoneManager.java
index 64ee8b8..e53845e 100644
--- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/dns/ZoneManager.java
+++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/dns/ZoneManager.java
@@ -814,12 +814,7 @@ public class ZoneManager extends Resolver {
 				final String domain = parts[1];
 
 				dsMap.put(domain, ds);
-				List<Record> zholder = zoneMap.get(domain);
-
-				if (zholder == null) {
-					zholder = new ArrayList<Record>();
-					zoneMap.put(domain, zholder);
-				}
+				final List<Record> zholder = zoneMap.computeIfAbsent(domain, k -> new ArrayList<>());
 
 				final String superdomain = domain.split("\\.", 2)[1];
 
@@ -835,16 +830,23 @@ public class ZoneManager extends Resolver {
 					final Name name = newName(fqdn);
 					final JsonNode ttl = ds.getTtls();
 
-					try {
-						zholder.add(new ARecord(name, DClass.IN, ZoneUtils.getLong(ttl, "A", 60), c.getIp4()));
-					} catch (IllegalArgumentException e) {
-						LOGGER.warn(e + " : " + c.getIp4());
+					final InetAddress ip4 = c.getIp4();
+					if (ip4 != null) {
+						try {
+							zholder.add(new ARecord(name, DClass.IN, ZoneUtils.getLong(ttl, "A", 60), ip4));
+						} catch (IllegalArgumentException e) {
+							LOGGER.warn(e + " : " + ip4, e);
+						}
 					}
 
 					final InetAddress ip6 = c.getIp6();
 
-					if (ip6 != null && ds != null && ds.isIp6RoutingEnabled()) {
-						zholder.add(new AAAARecord(name, DClass.IN, ZoneUtils.getLong(ttl, AAAA, 60), ip6));
+					if (ip6 != null && ds.isIp6RoutingEnabled()) {
+					    try {
+							zholder.add(new AAAARecord(name, DClass.IN, ZoneUtils.getLong(ttl, AAAA, 60), ip6));
+						} catch (IllegalArgumentException e) {
+							LOGGER.warn(e + " : " + ip6, e);
+						}
 					}
 				} catch (org.xbill.DNS.TextParseException e) {
 					LOGGER.error("Caught fatal exception while generating zone data for " + fqdn  + "!", e);