From a191caa6736a7cd59729e78d52d89b7166f7a427 Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 6 Aug 2019 14:02:49 -0400 Subject: [PATCH 1/6] testing - seemed to work --- .../java/com/mysql/cj/conf/ConnectionUrl.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java index ab8961e11..de3cc6058 100644 --- a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java +++ b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java @@ -33,6 +33,8 @@ import java.io.IOException; import java.io.InputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; import java.sql.DriverManager; import java.util.ArrayList; import java.util.Collections; @@ -400,7 +402,31 @@ protected void replaceLegacyPropertyValues(Map props) { * the {@link ConnectionUrlParser} from where to collect the hosts information */ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { + connStrParser.getHosts().stream().map(this::fixHostInfo).forEach(this.hosts::add); + + try { + List processedHosts = new ArrayList(); + for ( HostInfo host : hosts) { + System.out.println("working on " + host.getHost()); + InetAddress[] addressList = InetAddress.getAllByName( host.getHost() ); + System.out.println("addressList.length " + addressList.length ); + if (addressList.length > 1) { + for (InetAddress address : addressList) { + HostInfo newHostInfo = new HostInfo(this, address.getHostAddress(), host.getPort(), host.getUser(), host.getPassword(), host.getPassword() == null, host.getHostProperties()); + processedHosts.add(newHostInfo); + System.out.println("working on " + newHostInfo.getHost()); + + } + } else { + processedHosts.add(host); + } + } + hosts = processedHosts; + } catch ( UnknownHostException uhe ) { + System.out.println("issue with resolving a host: " + uhe.toString()); + } + } /** From 2b54774429ea5b9045d007557aadd180dfa795ae Mon Sep 17 00:00:00 2001 From: Michael James Date: Tue, 6 Aug 2019 15:43:33 -0400 Subject: [PATCH 2/6] added some properties --- .../java/com/mysql/cj/conf/ConnectionUrl.java | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java index de3cc6058..76bc02c11 100644 --- a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java +++ b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java @@ -402,29 +402,32 @@ protected void replaceLegacyPropertyValues(Map props) { * the {@link ConnectionUrlParser} from where to collect the hosts information */ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { - connStrParser.getHosts().stream().map(this::fixHostInfo).forEach(this.hosts::add); - - try { - List processedHosts = new ArrayList(); - for ( HostInfo host : hosts) { - System.out.println("working on " + host.getHost()); - InetAddress[] addressList = InetAddress.getAllByName( host.getHost() ); - System.out.println("addressList.length " + addressList.length ); - if (addressList.length > 1) { - for (InetAddress address : addressList) { - HostInfo newHostInfo = new HostInfo(this, address.getHostAddress(), host.getPort(), host.getUser(), host.getPassword(), host.getPassword() == null, host.getHostProperties()); - processedHosts.add(newHostInfo); - System.out.println("working on " + newHostInfo.getHost()); - + if (Boolean.parseBoolean(System.getProperty("com.mysql.cj.conf.ConnectionUrlParser.resolve-dns"))) { + boolean isDebug = Boolean.parseBoolean(System.getProperty("com.mysql.cj.conf.ConnectionUrlParser.debug")); + try { + List processedHosts = new ArrayList(); + for (HostInfo host : hosts) { + if (isDebug) { + System.out.println("resolving " + host.getHost()); + } + InetAddress[] addressList = InetAddress.getAllByName(host.getHost()); + if (addressList.length > 1) { + for (InetAddress address : addressList) { + HostInfo newHostInfo = new HostInfo(this, address.getHostAddress(), host.getPort(), host.getUser(), host.getPassword(), host.getPassword() == null, host.getHostProperties()); + processedHosts.add(newHostInfo); + if (isDebug) { + System.out.println("replacing " + host.getHost() + " with " + newHostInfo.getHost()); + } + } + } else { + processedHosts.add(host); } - } else { - processedHosts.add(host); } + hosts = processedHosts; + } catch (UnknownHostException uhe) { + System.out.println("issue with resolving a host: " + uhe.toString()); } - hosts = processedHosts; - } catch ( UnknownHostException uhe ) { - System.out.println("issue with resolving a host: " + uhe.toString()); } } From afba2aec0948c445058a8e2b4b7206dbf3f3ae79 Mon Sep 17 00:00:00 2001 From: Michael James Date: Wed, 7 Aug 2019 10:19:08 -0400 Subject: [PATCH 3/6] update version --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 98aad14ee..3fb508c60 100644 --- a/build.xml +++ b/build.xml @@ -205,7 +205,7 @@ See also com.mysql.cj.conf.PropertyDefinitions.SYSP_* variables for other test o - + Date: Wed, 7 Aug 2019 13:43:42 -0400 Subject: [PATCH 4/6] updated logging and properties --- .../java/com/mysql/cj/conf/ConnectionUrl.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java index 76bc02c11..590cab250 100644 --- a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java +++ b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java @@ -53,6 +53,8 @@ import com.mysql.cj.exceptions.InvalidConnectionAttributeException; import com.mysql.cj.exceptions.UnsupportedConnectionStringException; import com.mysql.cj.exceptions.WrongArgumentException; +import com.mysql.cj.log.Log; +import com.mysql.cj.log.LogFactory; import com.mysql.cj.util.LRUCache; import com.mysql.cj.util.Util; @@ -403,21 +405,26 @@ protected void replaceLegacyPropertyValues(Map props) { */ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { connStrParser.getHosts().stream().map(this::fixHostInfo).forEach(this.hosts::add); - if (Boolean.parseBoolean(System.getProperty("com.mysql.cj.conf.ConnectionUrlParser.resolve-dns"))) { - boolean isDebug = Boolean.parseBoolean(System.getProperty("com.mysql.cj.conf.ConnectionUrlParser.debug")); + if (Boolean.parseBoolean(connStrParser.getProperties().get("resolveDNS"))) { + Log log = LogFactory.getLogger(connStrParser.getProperties().getOrDefault(PropertyKey.logger.getKeyName(),"com.mysql.cj.log.StandardLogger"), Log.LOGGER_INSTANCE_NAME); try { List processedHosts = new ArrayList(); for (HostInfo host : hosts) { - if (isDebug) { - System.out.println("resolving " + host.getHost()); + if (log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder(); + sb.append("ConnectionUrl resolving host ").append(host.getHost()); + log.logDebug(sb.toString()); } InetAddress[] addressList = InetAddress.getAllByName(host.getHost()); if (addressList.length > 1) { for (InetAddress address : addressList) { HostInfo newHostInfo = new HostInfo(this, address.getHostAddress(), host.getPort(), host.getUser(), host.getPassword(), host.getPassword() == null, host.getHostProperties()); processedHosts.add(newHostInfo); - if (isDebug) { - System.out.println("replacing " + host.getHost() + " with " + newHostInfo.getHost()); + if (log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder(); + sb.append("ConnectionUrl resolved host ").append(host.getHost()); + sb.append(" to ").append(newHostInfo.getHost()); + log.logDebug(sb.toString()); } } } else { @@ -426,10 +433,15 @@ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { } hosts = processedHosts; } catch (UnknownHostException uhe) { - System.out.println("issue with resolving a host: " + uhe.toString()); + if (log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder(); + sb.append("ConnectionUrl issue resolving host: "); + sb.append(uhe); + log.logDebug(sb.toString()); + } + } } - } /** From 4faba62052c7da13d7ed1a39f70d0df000461f72 Mon Sep 17 00:00:00 2001 From: Michael James Date: Wed, 7 Aug 2019 13:58:57 -0400 Subject: [PATCH 5/6] moved to trace from debug --- .../java/com/mysql/cj/conf/ConnectionUrl.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java index 590cab250..64978d6a9 100644 --- a/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java +++ b/src/main/core-api/java/com/mysql/cj/conf/ConnectionUrl.java @@ -410,21 +410,21 @@ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { try { List processedHosts = new ArrayList(); for (HostInfo host : hosts) { - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { StringBuilder sb = new StringBuilder(); sb.append("ConnectionUrl resolving host ").append(host.getHost()); - log.logDebug(sb.toString()); + log.logTrace(sb.toString()); } InetAddress[] addressList = InetAddress.getAllByName(host.getHost()); if (addressList.length > 1) { for (InetAddress address : addressList) { HostInfo newHostInfo = new HostInfo(this, address.getHostAddress(), host.getPort(), host.getUser(), host.getPassword(), host.getPassword() == null, host.getHostProperties()); processedHosts.add(newHostInfo); - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { StringBuilder sb = new StringBuilder(); sb.append("ConnectionUrl resolved host ").append(host.getHost()); sb.append(" to ").append(newHostInfo.getHost()); - log.logDebug(sb.toString()); + log.logTrace(sb.toString()); } } } else { @@ -433,11 +433,10 @@ protected void collectHostsInfo(ConnectionUrlParser connStrParser) { } hosts = processedHosts; } catch (UnknownHostException uhe) { - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { StringBuilder sb = new StringBuilder(); sb.append("ConnectionUrl issue resolving host: "); - sb.append(uhe); - log.logDebug(sb.toString()); + log.logTrace(sb.toString(), uhe); } } From 9b11c7bb575feb5d3fb1f6d4dea534311fdb4ebf Mon Sep 17 00:00:00 2001 From: Michael James Date: Wed, 28 Aug 2019 16:49:15 -0400 Subject: [PATCH 6/6] Update build.xml removed local change --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 3fb508c60..98aad14ee 100644 --- a/build.xml +++ b/build.xml @@ -205,7 +205,7 @@ See also com.mysql.cj.conf.PropertyDefinitions.SYSP_* variables for other test o - +