You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2017/09/02 11:04:06 UTC
svn commit: r1807037 - in /jmeter/trunk:
src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
xdocs/changes.xml
Author: fschumacher
Date: Sat Sep 2 11:04:06 2017
New Revision: 1807037
URL: http://svn.apache.org/viewvc?rev=1807037&view=rev
Log:
Use system DNS resolver as last resort, when resolving entries in the static host table.
Bugzilla Id: 61375
Modified:
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java?rev=1807037&r1=1807036&r2=1807037&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java Sat Sep 2 11:04:06 2017
@@ -217,8 +217,14 @@ public class DNSCacheManager extends Con
List<InetAddress> addresses = new ArrayList<>();
for (String address : Arrays.asList(entry.getAddress().split("\\s*,\\s*"))) {
try {
- addresses.addAll(Arrays.asList(requestLookup(address)));
+ final InetAddress[] requestLookup = requestLookup(address);
+ if (requestLookup == null) {
+ addAsLiteralAddress(addresses, address);
+ } else {
+ addresses.addAll(Arrays.asList(requestLookup));
+ }
} catch (UnknownHostException e) {
+ addAsLiteralAddress(addresses, address);
log.warn("Couldn't resolve static address {} for host {}", address, host, e);
}
}
@@ -228,6 +234,15 @@ public class DNSCacheManager extends Con
return new InetAddress[0];
}
+ private void addAsLiteralAddress(List<InetAddress> addresses,
+ String address) {
+ try {
+ addresses.add(InetAddress.getByName(address));
+ } catch (UnknownHostException e) {
+ log.info("Couldn't convert {} as literal address to InetAddress", address, e);
+ }
+ }
+
/**
* Sends DNS request via system or custom DNS resolver
* @param host Host
Modified: jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java?rev=1807037&r1=1807036&r2=1807037&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestDNSCacheManager.java Sat Sep 2 11:04:06 2017
@@ -47,6 +47,16 @@ public class TestDNSCacheManager extends
}
@Test
+ public void testWithOneAsStaticHostAndInvalidCustomResolver() throws Exception {
+ DNSCacheManager manager = new DNSCacheManager();
+ manager.setCustomResolver(true);
+ manager.addServer(INVALID_DNS_SERVER);
+ manager.addHost("localhost", "127.0.0.1");
+ assertThat(manager.resolve("localhost"),
+ CoreMatchers.is(CoreMatchers.equalTo(new InetAddress[] { InetAddress.getByName("127.0.0.1") })));
+ }
+
+ @Test
public void testWithMultipleStaticHost() throws Exception {
DNSCacheManager manager = new DNSCacheManager();
manager.setCustomResolver(true);
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1807037&r1=1807036&r2=1807037&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep 2 11:04:06 2017
@@ -185,6 +185,7 @@ Incorporated feed back about unclear doc
<h3>Controllers</h3>
<ul>
+ <li><bug>61375</bug>Use system DNS resolver as last resort, when resolving entries in the static host table.</li>
</ul>
<h3>Listeners</h3>