View | Details | Raw Unified | Return to bug 61375
Collapse All | Expand All

(-)src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java (-18 / +31 lines)
Lines 217-223 Link Here
217
                List<InetAddress> addresses = new ArrayList<>();
217
                List<InetAddress> addresses = new ArrayList<>();
218
                for (String address : Arrays.asList(entry.getAddress().split("\\s*,\\s*"))) {
218
                for (String address : Arrays.asList(entry.getAddress().split("\\s*,\\s*"))) {
219
                    try {
219
                    try {
220
                        addresses.addAll(Arrays.asList(requestLookup(address)));
220
                        final InetAddress[] requestLookup = requestLookup(address);
221
                        if (requestLookup != null) {
222
                            addresses.addAll(Arrays.asList(requestLookup));
223
                        }
221
                    } catch (UnknownHostException e) {
224
                    } catch (UnknownHostException e) {
222
                        log.warn("Couldn't resolve static address {} for host {}", address, host, e);
225
                        log.warn("Couldn't resolve static address {} for host {}", address, host, e);
223
                    }
226
                    }
Lines 239-263 Link Here
239
            ExtendedResolver extendedResolver = getResolver();
242
            ExtendedResolver extendedResolver = getResolver();
240
            if (extendedResolver != null) {
243
            if (extendedResolver != null) {
241
                if(extendedResolver.getResolvers().length > 0) {
244
                if(extendedResolver.getResolvers().length > 0) {
242
                    try {
245
                    for (Resolver currentResolver : extendedResolver
243
                        Lookup lookup = new Lookup(host, Type.A);
246
                            .getResolvers()) {
244
                        lookup.setCache(lookupCache);
247
                        log.debug("Use custom resolver: {}", currentResolver);
245
                        if (timeoutMs > 0) {
248
                        try {
246
                            resolver.setTimeout(timeoutMs / 1000, timeoutMs % 1000);
249
                            Lookup lookup = new Lookup(host, Type.A);
250
                            lookup.setCache(lookupCache);
251
                            if (timeoutMs > 0) {
252
                                currentResolver.setTimeout(timeoutMs / 1000,
253
                                        timeoutMs % 1000);
254
                            }
255
                            lookup.setResolver(currentResolver);
256
                            Record[] records = lookup.run();
257
                            if (records == null || records.length == 0) {
258
                                log.debug("Lookup of host {} failed with {}",
259
                                        host, currentResolver);
260
                                continue;
261
                            }
262
                            addresses = new InetAddress[records.length];
263
                            for (int i = 0; i < records.length; i++) {
264
                                addresses[i] = ((ARecord) records[i])
265
                                        .getAddress();
266
                            }
267
                        } catch (TextParseException tpe) {
268
                            log.debug("Failed to create Lookup object: " + tpe);
247
                        }
269
                        }
248
                        lookup.setResolver(resolver);
270
                        return addresses;
249
                        Record[] records = lookup.run();
250
                        if (records == null || records.length == 0) {
251
                            throw new UnknownHostException("Failed to resolve host name: " + host);
252
                        }
253
                        addresses = new InetAddress[records.length];
254
                        for (int i = 0; i < records.length; i++) {
255
                            addresses[i] = ((ARecord) records[i]).getAddress();
256
                        }
257
                    } catch (TextParseException tpe) {
258
                        log.debug("Failed to create Lookup object: " + tpe);
259
                    }
271
                    }
260
                    return addresses;
272
                    throw new UnknownHostException(
273
                            "Failed to resolve host name: " + host);
261
                }
274
                }
262
            } else {
275
            } else {
263
                throw new UnknownHostException("Could not resolve host:"+host
276
                throw new UnknownHostException("Could not resolve host:"+host

Return to bug 61375