You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2016/10/05 19:49:21 UTC

lucene-solr:master: Revert "SOLR-9604: Ensure SSL connections are re-used"

Repository: lucene-solr
Updated Branches:
  refs/heads/master cae6b49a0 -> 36b3b0884


Revert "SOLR-9604: Ensure SSL connections are re-used"

This reverts commit 0eb6b1c823d347319cc0894b5fea95f085d4c8d4, which was
causing test failures in ConnectionReuseTest - see SOLR-9608


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/36b3b088
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/36b3b088
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/36b3b088

Branch: refs/heads/master
Commit: 36b3b0884a8f745bc137db1b1dc9890a59fa0895
Parents: cae6b49
Author: Alan Woodward <ro...@apache.org>
Authored: Wed Oct 5 20:48:11 2016 +0100
Committer: Alan Woodward <ro...@apache.org>
Committed: Wed Oct 5 20:49:14 2016 +0100

----------------------------------------------------------------------
 solr/CHANGES.txt                                |   3 -
 .../solr/security/PKIAuthenticationPlugin.java  |  18 ++--
 .../org/apache/solr/servlet/HttpSolrCall.java   |   3 +-
 .../src/java/org/apache/solr/util/SolrCLI.java  |   2 +-
 .../security/TestAuthorizationFramework.java    |   2 +-
 .../solrj/impl/ConcurrentUpdateSolrClient.java  |   3 +-
 .../solr/client/solrj/impl/HttpClientUtil.java  |  26 +----
 .../solr/client/solrj/impl/HttpSolrClient.java  |   4 +-
 .../impl/SolrHttpClientContextBuilder.java      |  12 +--
 .../client/solrj/SolrSchemalessExampleTest.java |  18 ++--
 .../client/solrj/embedded/JettyWebappTest.java  |   2 +-
 .../solrj/embedded/SolrExampleJettyTest.java    |   8 +-
 .../solrj/impl/BasicHttpSolrClientTest.java     |   2 +-
 .../impl/HttpSolrClientSSLAuthConPoolTest.java  | 104 -------------------
 .../org/apache/solr/util/RestTestHarness.java   |  16 +--
 15 files changed, 41 insertions(+), 182 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index aeb39b8..be205a4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -156,9 +156,6 @@ Bug Fixes
   at a node before its local state had updated with the new collection data
   (Alan Woodward)
 
-* SOLR-9604: Pooled SSL connections were not being re-used (Alan Woodward,
-  Mikhail Khludnev, hossman)
-
 Optimizations
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java b/solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java
index 6865819..e5d2653 100644
--- a/solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java
@@ -16,11 +16,8 @@
  */
 package org.apache.solr.security;
 
-import javax.servlet.FilterChain;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.nio.ByteBuffer;
@@ -30,6 +27,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestInterceptor;
@@ -55,8 +58,6 @@ import org.apache.solr.util.CryptoKeys;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static java.nio.charset.StandardCharsets.UTF_8;
-
 
 public class PKIAuthenticationPlugin extends AuthenticationPlugin implements HttpClientBuilderPlugin {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -197,8 +198,7 @@ public class PKIAuthenticationPlugin extends AuthenticationPlugin implements Htt
     try {
       String uri = url + PATH + "?wt=json&omitHeader=true";
       log.debug("Fetching fresh public key from : {}",uri);
-      HttpResponse rsp = cores.getUpdateShardHandler().getHttpClient()
-          .execute(new HttpGet(uri), HttpClientUtil.createNewHttpClientRequestContext(this));
+      HttpResponse rsp = cores.getUpdateShardHandler().getHttpClient().execute(new HttpGet(uri), HttpClientUtil.createNewHttpClientRequestContext());
       byte[] bytes = EntityUtils.toByteArray(rsp.getEntity());
       Map m = (Map) Utils.fromJSON(bytes);
       String key = (String) m.get("key");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index cb01fa4..bc5edd5 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -558,8 +558,7 @@ public class HttpSolrCall {
         method.removeHeaders(CONTENT_LENGTH_HEADER);
       }
 
-      final HttpResponse response
-          = solrDispatchFilter.httpClient.execute(method, HttpClientUtil.createNewHttpClientRequestContext(cores));
+      final HttpResponse response = solrDispatchFilter.httpClient.execute(method, HttpClientUtil.createNewHttpClientRequestContext());
       int httpStatus = response.getStatusLine().getStatusCode();
       httpEntity = response.getEntity();
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/core/src/java/org/apache/solr/util/SolrCLI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index ee16742..f1a31a1 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -647,7 +647,7 @@ public class SolrCLI {
     // ensure we're requesting JSON back from Solr
     HttpGet httpGet = new HttpGet(new URIBuilder(getUrl).setParameter(CommonParams.WT, CommonParams.JSON).build());
     // make the request and get back a parsed JSON object
-    Map<String,Object> json = httpClient.execute(httpGet, new SolrResponseHandler(), HttpClientUtil.createNewHttpClientRequestContext(null));
+    Map<String,Object> json = httpClient.execute(httpGet, new SolrResponseHandler(), HttpClientUtil.createNewHttpClientRequestContext());
     // check the response JSON from Solr to see if it is an error
     Long statusCode = asLong("/responseHeader/status", json);
     if (statusCode == -1) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java b/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
index 1a59633..4c4b52e 100644
--- a/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
+++ b/solr/core/src/test/org/apache/solr/security/TestAuthorizationFramework.java
@@ -90,7 +90,7 @@ public class TestAuthorizationFramework extends AbstractFullDistribZkTestBase {
     List<String> hierarchy = StrUtils.splitSmart(objPath, '/');
     for (int i = 0; i < count; i++) {
       HttpGet get = new HttpGet(url);
-      s = EntityUtils.toString(cl.execute(get, HttpClientUtil.createNewHttpClientRequestContext(null)).getEntity());
+      s = EntityUtils.toString(cl.execute(get, HttpClientUtil.createNewHttpClientRequestContext()).getEntity());
       Map m = (Map) Utils.fromJSONString(s);
 
       Object actual = Utils.getObjectByPath(m, true, hierarchy);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
index 86c8b45..f209672 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
@@ -320,8 +320,7 @@ public class ConcurrentUpdateSolrClient extends SolrClient {
           method.addHeader("User-Agent", HttpSolrClient.AGENT);
           method.addHeader("Content-Type", contentType);
 
-          response = client.getHttpClient()
-              .execute(method, HttpClientUtil.createNewHttpClientRequestContext(scheduler));
+          response = client.getHttpClient().execute(method, HttpClientUtil.createNewHttpClientRequestContext());
           rspBody = response.getEntity().getContent();
           int statusCode = response.getStatusLine().getStatusCode();
           if (statusCode != HttpStatus.SC_OK) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
index d645759..b9580b8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientUtil.java
@@ -198,12 +198,7 @@ public class HttpClientUtil {
    *          configuration (no additional configuration) is created. 
    */
   public static CloseableHttpClient createClient(SolrParams params) {
-    return createClient(params, createPoolingConnectionManager());
-  }
-
-  /** test usage subject to change @lucene.experimental */ 
-  static PoolingHttpClientConnectionManager createPoolingConnectionManager() {
-    return new PoolingHttpClientConnectionManager(schemaRegistryProvider.getSchemaRegistry());
+    return createClient(params, new PoolingHttpClientConnectionManager(schemaRegistryProvider.getSchemaRegistry()));
   }
   
   public static CloseableHttpClient createClient(SolrParams params, PoolingHttpClientConnectionManager cm) {
@@ -401,25 +396,10 @@ public class HttpClientUtil {
   }
 
   /**
-   * @deprecated Use {@link #createNewHttpClientRequestContext(Object)}
+   * 
    */
-  @Deprecated
   public static HttpClientContext createNewHttpClientRequestContext() {
-    return httpClientRequestContextBuilder.createContext(null);
-  }
-
-  /**
-   * Create a HttpClientContext object
-   *
-   * If the client is going to be re-used, then you should pass in an object that
-   * can be used by internal connection pools as a cache key.  This is particularly
-   * important if client authentication is enabled, as SSL connections will not
-   * be re-used if no cache key is provided.
-   *
-   * @param cacheKey an Object to be used as a cache key for pooling connections
-   */
-  public static HttpClientContext createNewHttpClientRequestContext(Object cacheKey) {
-    return httpClientRequestContextBuilder.createContext(cacheKey);
+    return httpClientRequestContextBuilder.createContext();
   }
   
   public static Builder createDefaultRequestConfigBuilder() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
index d1f26b9..e43fd33 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
@@ -47,7 +47,6 @@ import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.entity.ContentType;
 import org.apache.http.entity.InputStreamEntity;
@@ -509,8 +508,7 @@ public class HttpSolrClient extends SolrClient {
     boolean shouldClose = true;
     try {
       // Execute the method.
-      HttpClientContext httpClientRequestContext = HttpClientUtil.createNewHttpClientRequestContext(this);
-      final HttpResponse response = httpClient.execute(method, httpClientRequestContext);
+      final HttpResponse response = httpClient.execute(method, HttpClientUtil.createNewHttpClientRequestContext());
       int httpStatus = response.getStatusLine().getStatusCode();
       
       // Read the contents

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpClientContextBuilder.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpClientContextBuilder.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpClientContextBuilder.java
index f57848d..b678df7 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpClientContextBuilder.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpClientContextBuilder.java
@@ -76,16 +76,8 @@ public class SolrHttpClientContextBuilder {
   public CredentialsProviderProvider getCredentialsProviderProvider() {
     return credentialsProviderProvider;
   }
-
-  /**
-   * @deprecated use {@link #createContext(Object)}
-   */
-  @Deprecated
-  public HttpClientContext createContext() {
-    return createContext(null);
-  }
   
-  public HttpClientContext createContext(Object userToken) {
+  public HttpClientContext createContext() {
     HttpClientContext context = new HttpClientContext();
     if (getCredentialsProviderProvider() != null) {
       context.setCredentialsProvider(getCredentialsProviderProvider().getCredentialsProvider());
@@ -97,8 +89,6 @@ public class SolrHttpClientContextBuilder {
     if (getCookieSpecRegistryProvider() != null) {
       context.setCookieSpecRegistry(getCookieSpecRegistryProvider().getCookieSpecRegistry());
     }
-
-    context.setUserToken(userToken);
     
     return context;
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
index 1f5aa2b..d81667b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrSchemalessExampleTest.java
@@ -16,14 +16,6 @@
  */
 package org.apache.solr.client.solrj;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.OutputStreamWriter;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
@@ -40,6 +32,14 @@ import org.apache.solr.util.ExternalPaths;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.OutputStreamWriter;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+
 public class SolrSchemalessExampleTest extends SolrExampleTestsBase {
 
   @BeforeClass
@@ -80,7 +80,7 @@ public class SolrSchemalessExampleTest extends SolrExampleTestsBase {
     HttpPost post = new HttpPost(client.getBaseURL() + "/update/json/docs");
     post.setHeader("Content-Type", "application/json");
     post.setEntity(new InputStreamEntity(new ByteArrayInputStream(json.getBytes("UTF-8")), -1));
-    HttpResponse response = httpClient.execute(post, HttpClientUtil.createNewHttpClientRequestContext(null));
+    HttpResponse response = httpClient.execute(post, HttpClientUtil.createNewHttpClientRequestContext());
     Utils.consumeFully(response.getEntity());
     assertEquals(200, response.getStatusLine().getStatusCode());
     client.commit();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
index 7af8d60..6c13e40 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
@@ -111,7 +111,7 @@ public class JettyWebappTest extends SolrTestCaseJ4
 
     HttpClient client = HttpClients.createDefault();
     HttpRequestBase m = new HttpGet(adminPath);
-    HttpResponse response = client.execute(m, HttpClientUtil.createNewHttpClientRequestContext(null));
+    HttpResponse response = client.execute(m, HttpClientUtil.createNewHttpClientRequestContext());
     assertEquals(200, response.getStatusLine().getStatusCode());
     Header header = response.getFirstHeader("X-Frame-Options");
     assertEquals("DENY", header.getValue().toUpperCase(Locale.ROOT));

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
index 89a0cef..a8832e7 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.solr.client.solrj.embedded;
 
-import java.io.ByteArrayInputStream;
-import java.util.Map;
-
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpPost;
@@ -35,6 +32,9 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.noggit.ObjectBuilder;
 
+import java.io.ByteArrayInputStream;
+import java.util.Map;
+
 /**
  * TODO? perhaps use:
  *  http://docs.codehaus.org/display/JETTY/ServletTester
@@ -76,7 +76,7 @@ public class SolrExampleJettyTest extends SolrExampleTests {
     HttpPost post = new HttpPost(client.getBaseURL() + "/update/json/docs");
     post.setHeader("Content-Type", "application/json");
     post.setEntity(new InputStreamEntity(new ByteArrayInputStream(json.getBytes("UTF-8")), -1));
-    HttpResponse response = httpClient.execute(post, HttpClientUtil.createNewHttpClientRequestContext(null));
+    HttpResponse response = httpClient.execute(post, HttpClientUtil.createNewHttpClientRequestContext());
     assertEquals(200, response.getStatusLine().getStatusCode());
     client.commit();
     QueryResponse rsp = getSolrClient().query(new SolrQuery("*:*"));

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
index c1b0081..11d2784 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
@@ -565,7 +565,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase {
     CloseableHttpClient httpclient = HttpClientUtil.createClient(params);
     HttpEntity entity = null;
     try {
-      HttpResponse response = httpclient.execute(get, HttpClientUtil.createNewHttpClientRequestContext(null));
+      HttpResponse response = httpclient.execute(get, HttpClientUtil.createNewHttpClientRequestContext());
       entity = response.getEntity();
       Header ceheader = entity.getContentEncoding();
       assertNotNull(Arrays.asList(response.getAllHeaders()).toString(), ceheader);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
deleted file mode 100644
index f2d5c65..0000000
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.solr.client.solrj.impl;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.apache.http.pool.PoolStats;
-import org.apache.solr.SolrJettyTestBase;
-import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.util.RandomizeSSL;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-
-@RandomizeSSL(1.0)
-public class HttpSolrClientSSLAuthConPoolTest extends SolrJettyTestBase {
-
-  private static JettySolrRunner yetty;
-
-  @BeforeClass
-  public static void beforeTest() throws Exception {
-    createJetty(legacyExampleCollection1SolrHome());
-    // stealing the first made jetty
-    yetty = jetty;
-    createJetty(legacyExampleCollection1SolrHome());
-  }
-  
-  @AfterClass
-  public static void stopYetty() throws Exception {
-    yetty.stop();
-    yetty = null;
-  }
-  
-  public void testPoolSize() throws SolrServerException, IOException {
-    PoolingHttpClientConnectionManager pool = HttpClientUtil.createPoolingConnectionManager();
-    final HttpSolrClient client1 ;
-    final String fooUrl;
-    {
-      fooUrl = jetty.getBaseUrl().toString() + "/" + "collection1";
-      CloseableHttpClient httpClient = HttpClientUtil.createClient(new ModifiableSolrParams(), pool,
-            false /* let client shutdown it*/);
-      client1 = getHttpSolrClient(fooUrl, httpClient);
-      client1.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
-    }
-    final String barUrl = yetty.getBaseUrl().toString() + "/" + "collection1";
-    
-    List<String> urls = new ArrayList<>();
-    for(int i=0; i<17; i++) {
-      urls.add(fooUrl);
-    }
-    for(int i=0; i<31; i++) {
-      urls.add(barUrl);
-    }
-    
-    Collections.shuffle(urls, random());
-    
-    try {
-      int i=0;
-      for (String url : urls) {
-        if (!client1.getBaseURL().equals(url)) {
-          client1.setBaseURL(url);
-        }
-        client1.add(new SolrInputDocument("id", ""+(i++)));
-      }
-      client1.setBaseURL(fooUrl);
-      client1.commit();
-      assertEquals(17, client1.query(new SolrQuery("*:*")).getResults().getNumFound());
-      
-      client1.setBaseURL(barUrl);
-      client1.commit();
-      assertEquals(31, client1.query(new SolrQuery("*:*")).getResults().getNumFound());
-      
-      PoolStats stats = pool.getTotalStats();
-      assertEquals("oh "+stats, 2, stats.getAvailable());
-    } finally {
-      for (HttpSolrClient c : new HttpSolrClient []{ client1}) {
-        HttpClientUtil.close(c.getHttpClient());
-        c.close();
-      }
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/36b3b088/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java b/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
index 6bf9c56..3f2a699 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
@@ -15,13 +15,6 @@
  * limitations under the License.
  */
 package org.apache.solr.util;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import java.io.Closeable;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-
 import org.apache.http.HttpEntity;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
@@ -35,6 +28,13 @@ import org.apache.http.util.EntityUtils;
 import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.Closeable;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+
 /**
  * Facilitates testing Solr's REST API via a provided embedded Jetty
  */
@@ -204,7 +204,7 @@ public class RestTestHarness extends BaseTestHarness implements Closeable {
   private String getResponse(HttpUriRequest request) throws IOException {
     HttpEntity entity = null;
     try {
-      entity = httpClient.execute(request, HttpClientUtil.createNewHttpClientRequestContext(this)).getEntity();
+      entity = httpClient.execute(request, HttpClientUtil.createNewHttpClientRequestContext()).getEntity();
       return EntityUtils.toString(entity, StandardCharsets.UTF_8);
     } finally {
       EntityUtils.consumeQuietly(entity);