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 2019/05/26 10:16:18 UTC

svn commit: r1860047 - in /jmeter/trunk: bin/log4j2.xml src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java test/src/org/apache/jmeter/engine/LocalHostTest.java

Author: fschumacher
Date: Sun May 26 10:16:18 2019
New Revision: 1860047

URL: http://svn.apache.org/viewvc?rev=1860047&view=rev
Log:
Try to find a network device to use for Bug52310 test

Modified:
    jmeter/trunk/bin/log4j2.xml
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
    jmeter/trunk/test/src/org/apache/jmeter/engine/LocalHostTest.java

Modified: jmeter/trunk/bin/log4j2.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/log4j2.xml?rev=1860047&r1=1860046&r2=1860047&view=diff
==============================================================================
--- jmeter/trunk/bin/log4j2.xml (original)
+++ jmeter/trunk/bin/log4j2.xml Sun May 26 10:16:18 2019
@@ -52,6 +52,7 @@
     <Logger name="org.apache.jmeter.protocol.http" level="debug" />
     -->
     <!-- # For CookieManager, AuthManager etc: -->
+    <Logger name="org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl" level="debug" />
     <!--
     <Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
     <Logger name="org.apache.jmeter.protocol.ftp" level="warn" />

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1860047&r1=1860046&r2=1860047&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java Sun May 26 10:16:18 2019
@@ -555,6 +555,10 @@ public class HTTPHC4Impl extends HTTPHCA
                     HTTPCLIENTS_CACHE_PER_THREAD_AND_HTTPCLIENTKEY.get();
             triple =
                     mapHttpClientPerHttpClientKey.get(key);
+            if (log.isDebugEnabled()) {
+                log.debug("Got triple: {} for key {} in map {} on thread {}", triple, key,
+                        mapHttpClientPerHttpClientKey, Thread.currentThread());
+            }
             URI uri = url.toURI();
             httpRequest = createHttpRequest(uri, method, areFollowingRedirect);
             setupRequest(url, httpRequest, res); // can throw IOException
@@ -708,6 +712,7 @@ public class HTTPHC4Impl extends HTTPHCA
     private void saveProxyAuth(
             MutableTriple<CloseableHttpClient, AuthState, PoolingHttpClientConnectionManager> triple,
             HttpContext localContext) {
+        log.debug("Store Proxy Auth: {}", triple);
         if (triple != null) {
             triple.setMiddle((AuthState) localContext.getAttribute(HttpClientContext.PROXY_AUTH_STATE));
         }

Modified: jmeter/trunk/test/src/org/apache/jmeter/engine/LocalHostTest.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/engine/LocalHostTest.java?rev=1860047&r1=1860046&r2=1860047&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/engine/LocalHostTest.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/engine/LocalHostTest.java Sun May 26 10:16:18 2019
@@ -21,7 +21,9 @@ package org.apache.jmeter.engine;
 import java.net.InetAddress;
 import java.net.InterfaceAddress;
 import java.net.NetworkInterface;
+import java.net.SocketException;
 import java.net.UnknownHostException;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.stream.Collectors;
 
@@ -42,6 +44,8 @@ public class LocalHostTest {
                 .map(this::ifaceWithAddresses)
                 .collect(Collectors.joining(", "));
         perr("Interfaces: {" + interfaces + "}");
+        String externInterface = guessExternalIPv4Interface();
+        perr("Choose " + externInterface + " to talk to external services");
         String localHost = getLocalHost().getHostAddress();
         boolean localHostIsBound = Collections
                 .list(NetworkInterface.getNetworkInterfaces()).stream()
@@ -56,6 +60,17 @@ public class LocalHostTest {
                 localHostIsBound);
     }
 
+    private String guessExternalIPv4Interface() throws SocketException {
+        return Collections.list(NetworkInterface.getNetworkInterfaces()).stream()
+                .map(n -> Collections.list(n.getInetAddresses()))
+                .flatMap(ArrayList<InetAddress>::stream)
+                .filter(i -> !i.isLoopbackAddress())
+                .filter(i -> i.getAddress().length == 4)
+                .map(InetAddress::getHostAddress)
+                .findFirst()
+                .orElse("NO DEVICE");
+    }
+
     private SubnetInfo toSubnetInfo(InterfaceAddress addr) {
         return new SubnetUtils(
                 addr.getAddress().getHostAddress() + "/" + addr.getNetworkPrefixLength())