ASF Bugzilla – Attachment 35198 Details for
Bug 61375
http proxy server request fails when DNS manager custom resolver enabled
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Use all custom resolvers, when more than one is given
custom-resolver.diff (text/plain), 3.96 KB, created by
Felix Schumacher
on 2017-08-02 20:40:46 UTC
(
hide
)
Description:
Use all custom resolvers, when more than one is given
Filename:
MIME Type:
Creator:
Felix Schumacher
Created:
2017-08-02 20:40:46 UTC
Size:
3.96 KB
patch
obsolete
>Index: src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java >=================================================================== >--- src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java (Revision 1803896) >+++ src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java (Arbeitskopie) >@@ -217,7 +217,10 @@ > 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) { >+ addresses.addAll(Arrays.asList(requestLookup)); >+ } > } catch (UnknownHostException e) { > log.warn("Couldn't resolve static address {} for host {}", address, host, e); > } >@@ -239,25 +242,35 @@ > ExtendedResolver extendedResolver = getResolver(); > if (extendedResolver != null) { > if(extendedResolver.getResolvers().length > 0) { >- try { >- Lookup lookup = new Lookup(host, Type.A); >- lookup.setCache(lookupCache); >- if (timeoutMs > 0) { >- resolver.setTimeout(timeoutMs / 1000, timeoutMs % 1000); >+ for (Resolver currentResolver : extendedResolver >+ .getResolvers()) { >+ log.debug("Use custom resolver: {}", currentResolver); >+ try { >+ Lookup lookup = new Lookup(host, Type.A); >+ lookup.setCache(lookupCache); >+ if (timeoutMs > 0) { >+ currentResolver.setTimeout(timeoutMs / 1000, >+ timeoutMs % 1000); >+ } >+ lookup.setResolver(currentResolver); >+ Record[] records = lookup.run(); >+ if (records == null || records.length == 0) { >+ log.debug("Lookup of host {} failed with {}", >+ host, currentResolver); >+ continue; >+ } >+ addresses = new InetAddress[records.length]; >+ for (int i = 0; i < records.length; i++) { >+ addresses[i] = ((ARecord) records[i]) >+ .getAddress(); >+ } >+ } catch (TextParseException tpe) { >+ log.debug("Failed to create Lookup object: " + tpe); > } >- lookup.setResolver(resolver); >- Record[] records = lookup.run(); >- if (records == null || records.length == 0) { >- throw new UnknownHostException("Failed to resolve host name: " + host); >- } >- addresses = new InetAddress[records.length]; >- for (int i = 0; i < records.length; i++) { >- addresses[i] = ((ARecord) records[i]).getAddress(); >- } >- } catch (TextParseException tpe) { >- log.debug("Failed to create Lookup object: " + tpe); >+ return addresses; > } >- return addresses; >+ throw new UnknownHostException( >+ "Failed to resolve host name: " + host); > } > } else { > throw new UnknownHostException("Could not resolve host:"+host
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 61375
:
35197
|
35198
|
35201