lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From markrmil...@apache.org
Subject [05/26] lucene-solr:starburst: The Star Burst Upgrade - a work in progress - the branch gets replaced often.
Date Sun, 29 Jul 2018 15:08:27 GMT
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
index c1dcceb..5736e22 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
@@ -17,7 +17,10 @@
 
 package org.apache.solr.client.solrj.io.graph;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -26,18 +29,21 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
-import java.util.ArrayList;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
-import org.apache.solr.client.solrj.io.eq.MultipleFieldEqualitor;
-import org.apache.solr.client.solrj.io.stream.*;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;
 import org.apache.solr.client.solrj.io.eq.FieldEqualitor;
+import org.apache.solr.client.solrj.io.eq.MultipleFieldEqualitor;
+import org.apache.solr.client.solrj.io.stream.CloudSolrStream;
+import org.apache.solr.client.solrj.io.stream.StreamContext;
+import org.apache.solr.client.solrj.io.stream.TupleStream;
+import org.apache.solr.client.solrj.io.stream.UniqueStream;
 import org.apache.solr.client.solrj.io.stream.expr.Explanation;
+import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 import org.apache.solr.client.solrj.io.stream.expr.Expressible;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExplanation;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
@@ -45,14 +51,11 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParamete
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
-import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.ExecutorUtil;
 import org.apache.solr.common.util.SolrjNamedThreadFactory;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 /**
  * @since 6.1.0
  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GroupOperation.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GroupOperation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GroupOperation.java
index a2bd8c9..1bd3086 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GroupOperation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/GroupOperation.java
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.client.solrj.io.ops;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -39,8 +41,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 public class GroupOperation implements ReduceOperation {
 
   private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithFieldOperation.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithFieldOperation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithFieldOperation.java
index 99b808e..14662cb 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithFieldOperation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithFieldOperation.java
@@ -22,12 +22,12 @@ import java.util.UUID;
 
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.stream.expr.Explanation;
+import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
-import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 
 /**
  * Implementation of replace(...., withField=fieldName)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithValueOperation.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithValueOperation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithValueOperation.java
index 0301def..c5aaee9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithValueOperation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ops/ReplaceWithValueOperation.java
@@ -22,12 +22,12 @@ import java.util.UUID;
 
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.stream.expr.Explanation;
+import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
-import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 
 /**
  * Implementation of replace(...., withValue="some value")

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
index c96ea7c..6a79081 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/DatabaseMetaDataImpl.java
@@ -29,7 +29,7 @@ import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
+import org.apache.solr.client.solrj.impl.Http2SolrClient.Builder;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.util.SimpleOrderedMap;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetImpl.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetImpl.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetImpl.java
index 7be0ebd..0a90163 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetImpl.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetImpl.java
@@ -40,11 +40,11 @@ import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Map;
 
-import org.apache.solr.common.util.SuppressForbidden;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.stream.PushBackStream;
 import org.apache.solr.client.solrj.io.stream.SolrStream;
 import org.apache.solr.client.solrj.io.stream.StreamContext;
+import org.apache.solr.common.util.SuppressForbidden;
 
 class ResultSetImpl implements ResultSet {
   private final StatementImpl statement;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
index 467a324..760395d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/BiJoinStream.java
@@ -17,6 +17,7 @@
 package org.apache.solr.client.solrj.io.stream;
 
 import java.io.IOException;
+
 import org.apache.solr.client.solrj.io.comp.FieldComparator;
 import org.apache.solr.client.solrj.io.comp.MultipleFieldComparator;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
index 32cf15e..efd89f6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
@@ -16,6 +16,9 @@
  */
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -56,9 +59,6 @@ import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.ExecutorUtil;
 import org.apache.solr.common.util.SolrjNamedThreadFactory;
 
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 /**
  * Connects to Zookeeper to pick replicas from a specific collection to send the query to.
  * Under the covers the SolrStream instances send the query to the replicas.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
index 2a1b491..427637a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
@@ -17,6 +17,8 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.ID;
+
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
@@ -41,8 +43,6 @@ import org.apache.solr.common.util.SolrjNamedThreadFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.solr.common.params.CommonParams.ID;
-
 /**
  *  The executor function wraps a stream with Tuples containing Streaming Expressions
  *  and executes them in parallel. Sample syntax:

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
index b6ad276..b82442d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
@@ -17,6 +17,9 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+import static org.apache.solr.common.params.CommonParams.ID;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -35,7 +38,7 @@ import java.util.concurrent.Future;
 import java.util.stream.Stream;
 
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.io.SolrClientCache;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;
@@ -59,9 +62,6 @@ import org.apache.solr.common.util.ExecutorUtil;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SolrjNamedThreadFactory;
 
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-import static org.apache.solr.common.params.CommonParams.ID;
-
 /**
  * @since 6.2.0
  */
@@ -419,7 +419,7 @@ public class FeaturesSelectionStream extends TupleStream implements Expressible{
 
     public NamedList<Double> call() throws Exception {
       ModifiableSolrParams params = new ModifiableSolrParams();
-      HttpSolrClient solrClient = cache.getHttpSolrClient(baseUrl);
+      Http2SolrClient solrClient = cache.getHttpSolrClient(baseUrl);
 
       params.add(DISTRIB, "false");
       params.add("fq","{!igain}");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java
index fbdba16..5de3878 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FetchStream.java
@@ -17,6 +17,9 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -38,9 +41,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
 import org.apache.solr.client.solrj.util.ClientUtils;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
-
 /**
  *  Iterates over a stream and fetches additional fields from a specified collection.
  *  Fetches are done in batches.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
index 4081035..f6d4a94 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.sql.Clob;
@@ -51,8 +53,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 /**
  * Connects to a datasource using a registered JDBC driver and execute a query. The results of
  * that query will be returned as tuples. An EOF tuple will indicate that all have been read.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
index b8fa4b8..31babff 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/KnnStream.java
@@ -17,6 +17,9 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.Q;
+import static org.apache.solr.common.params.CommonParams.ROWS;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -46,9 +49,6 @@ import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
-import static org.apache.solr.common.params.CommonParams.Q;
-import static org.apache.solr.common.params.CommonParams.ROWS;
-
 
 /**
  * @since 7.0.0

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LetStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LetStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LetStream.java
index e88eaf6..cb4c69a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LetStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/LetStream.java
@@ -18,12 +18,11 @@ package org.apache.solr.client.solrj.io.stream;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.HashSet;
-
 
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RandomStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RandomStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RandomStream.java
index 01aa047..6cca2f3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RandomStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RandomStream.java
@@ -17,6 +17,8 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -48,8 +50,6 @@ import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 /**
  *  The RandomStream emits a stream of psuedo random Tuples that match the query parameters. Sample expression syntax:
  *  random(collection, q="Hello word", rows="50", fl="title, body")

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RankStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RankStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RankStream.java
index b78581f..0f8e844 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RankStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/RankStream.java
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.SORT;
+
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -37,8 +39,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParamete
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
 
-import static org.apache.solr.common.params.CommonParams.SORT;
-
 
 /**
 *  Iterates over a TupleStream and Ranks the topN tuples based on a Comparator.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ScoreNodesStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ScoreNodesStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ScoreNodesStream.java
index a7bb15d..4f10748 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ScoreNodesStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ScoreNodesStream.java
@@ -17,6 +17,8 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,8 +44,6 @@ import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.TermsParams;
 import org.apache.solr.common.util.NamedList;
 
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-
 /**
  *  Iterates over a gatherNodes() expression and scores the Tuples based on tf-idf.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
index 111b94b..27fc919 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
@@ -17,6 +17,8 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -30,7 +32,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.io.SolrClientCache;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;
@@ -49,8 +51,6 @@ import org.apache.solr.common.util.ExecutorUtil;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SolrjNamedThreadFactory;
 
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-
 /**
  * @since 6.5.0
  */
@@ -379,7 +379,8 @@ public class SignificantTermsStream extends TupleStream implements Expressible{
 
     public NamedList<Double> call() throws Exception {
       ModifiableSolrParams params = new ModifiableSolrParams();
-      HttpSolrClient solrClient = cache.getHttpSolrClient(baseUrl);
+      // nocommit: shared executor?
+      Http2SolrClient solrClient = cache.getHttpSolrClient(baseUrl);
 
       params.add(DISTRIB, "false");
       params.add("fq","{!sigificantTerms}");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java
index 88b1abc..2a1e292 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java
@@ -30,7 +30,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.impl.InputStreamResponseParser;
 import org.apache.solr.client.solrj.io.SolrClientCache;
 import org.apache.solr.client.solrj.io.Tuple;
@@ -65,7 +65,7 @@ public class SolrStream extends TupleStream {
   private boolean trace;
   private Map<String, String> fieldMappings;
   private transient TupleStreamParser tupleStreamParser;
-  private transient HttpSolrClient client;
+  private transient Http2SolrClient client;
   private transient SolrClientCache cache;
   private String slice;
   private long checkpoint = -1;
@@ -105,7 +105,8 @@ public class SolrStream extends TupleStream {
 
   public void open() throws IOException {
     if(cache == null) {
-      client = new HttpSolrClient.Builder(baseUrl).build();
+      // nocommit: shared executor
+      client = new Http2SolrClient.Builder(baseUrl).build();
     } else {
       client = cache.getHttpSolrClient(baseUrl);
     }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SortStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SortStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SortStream.java
index 700d7d0..dc36d9d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SortStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SortStream.java
@@ -26,13 +26,13 @@ import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.FieldComparator;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;
 import org.apache.solr.client.solrj.io.stream.expr.Explanation;
+import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 import org.apache.solr.client.solrj.io.stream.expr.Expressible;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExplanation;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionNamedParameter;
 import org.apache.solr.client.solrj.io.stream.expr.StreamExpressionValue;
 import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
-import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StatsStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StatsStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StatsStream.java
index d4df1e3..04066d7 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StatsStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StatsStream.java
@@ -26,7 +26,7 @@ import java.util.Map.Entry;
 import java.util.stream.Collectors;
 
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.io.SolrClientCache;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.StreamComparator;
@@ -218,7 +218,7 @@ public class StatsStream extends TupleStream implements Expressible  {
       }
     } else {
       List<String> shards = shardsMap.get(collection);
-      HttpSolrClient client = cache.getHttpSolrClient(shards.get(0));
+      Http2SolrClient client = cache.getHttpSolrClient(shards.get(0));
 
       if(shards.size() > 1) {
         String shardsParam = getShardString(shards);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
index f56431c..c014e9a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
@@ -35,7 +35,7 @@ import java.util.concurrent.Future;
 
 import org.apache.solr.client.solrj.SolrRequest;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.io.ClassificationEvaluation;
 import org.apache.solr.client.solrj.io.SolrClientCache;
 import org.apache.solr.client.solrj.io.Tuple;
@@ -619,7 +619,7 @@ public class TextLogitStream extends TupleStream implements Expressible {
 
     public Tuple call() throws Exception {
       ModifiableSolrParams params = new ModifiableSolrParams();
-      HttpSolrClient solrClient = cache.getHttpSolrClient(baseUrl);
+      Http2SolrClient solrClient = cache.getHttpSolrClient(baseUrl);
 
       params.add(DISTRIB, "false");
       params.add("fq","{!tlogit}");

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
index 9f3cfb6..e9573f9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
@@ -17,6 +17,11 @@
 
 package org.apache.solr.client.solrj.io.stream;
 
+import static org.apache.solr.common.params.CommonParams.DISTRIB;
+import static org.apache.solr.common.params.CommonParams.ID;
+import static org.apache.solr.common.params.CommonParams.SORT;
+import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
+
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
@@ -26,8 +31,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Optional;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Random;
 import java.util.Set;
 import java.util.TreeSet;
@@ -36,7 +41,7 @@ import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
 import org.apache.solr.client.solrj.impl.CloudSolrClient.Builder;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.io.Tuple;
 import org.apache.solr.client.solrj.io.comp.ComparatorOrder;
 import org.apache.solr.client.solrj.io.comp.FieldComparator;
@@ -63,11 +68,6 @@ import org.apache.solr.common.util.SolrjNamedThreadFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.solr.common.params.CommonParams.DISTRIB;
-import static org.apache.solr.common.params.CommonParams.ID;
-import static org.apache.solr.common.params.CommonParams.SORT;
-import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
-
 /**
  * @since 6.0.0
  */
@@ -489,7 +489,7 @@ public class TopicStream extends CloudSolrStream implements Expressible  {
       Collection<Replica> replicas = slice.getReplicas();
       for(Replica replica : replicas) {
         if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())){
-          HttpSolrClient httpClient = streamContext.getSolrClientCache().getHttpSolrClient(replica.getCoreUrl());
+          Http2SolrClient httpClient = streamContext.getSolrClientCache().getHttpSolrClient(replica.getCoreUrl());
           try {
             SolrDocument doc = httpClient.getById(id);
             if(doc != null) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
index cb9e74e..97736b87 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
@@ -112,7 +112,7 @@ public abstract class AbstractUpdateRequest extends SolrRequest<UpdateResponse>
   }
 
   @Override
-  protected UpdateResponse createResponse(SolrClient client) {
+  public UpdateResponse createResponse(SolrClient client) {
     return new UpdateResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
index 4566033..4170dfd 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
@@ -16,6 +16,11 @@
  */
 package org.apache.solr.client.solrj.request;
 
+import static org.apache.solr.client.solrj.cloud.autoscaling.Policy.POLICY;
+import static org.apache.solr.common.params.CollectionAdminParams.COUNT_PROP;
+import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_PARAM;
+import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_SHUFFLE_PARAM;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -50,11 +55,6 @@ import org.apache.solr.common.params.ShardParams;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 
-import static org.apache.solr.client.solrj.cloud.autoscaling.Policy.POLICY;
-import static org.apache.solr.common.params.CollectionAdminParams.COUNT_PROP;
-import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_PARAM;
-import static org.apache.solr.common.params.CollectionAdminParams.CREATE_NODE_SET_SHUFFLE_PARAM;
-
 /**
  * This class is experimental and subject to change.
  *
@@ -77,6 +77,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
 
   @Override
   public SolrRequest getV2Request() {
+    // nocommit System.out.println("params before mapping to V2: " + getParams() + " class: " + getClass().getName());
     return usev2 ?
         V1toV2ApiMapper.convert(this).useBinary(useBinaryV2).build() :
         this;
@@ -124,7 +125,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
 
@@ -270,7 +271,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected SolrResponse createResponse(SolrClient client) {
+    public SolrResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
   }
@@ -1245,7 +1246,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected RequestStatusResponse createResponse(SolrClient client) {
+    public RequestStatusResponse createResponse(SolrClient client) {
       return new RequestStatusResponse();
     }
 
@@ -1321,7 +1322,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
 
@@ -1827,7 +1828,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
 
@@ -1868,7 +1869,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
   }
@@ -2051,7 +2052,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
 
@@ -2065,7 +2066,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
 
@@ -2086,7 +2087,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
     }
 
     @Override
-    protected CollectionAdminResponse createResponse(SolrClient client) {
+    public CollectionAdminResponse createResponse(SolrClient client) {
       return new CollectionAdminResponse();
     }
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
index 74d0bbc..b3f7903 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
@@ -18,23 +18,6 @@
 package org.apache.solr.client.solrj.request;
 
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.common.params.CollectionParams.CollectionAction;
-import org.apache.solr.common.params.ConfigSetParams.ConfigSetAction;
-import org.apache.solr.common.util.CommandOperation;
-import org.apache.solr.common.util.Pair;
-import org.apache.solr.common.util.Utils;
-
 import static org.apache.solr.client.solrj.SolrRequest.METHOD.DELETE;
 import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET;
 import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST;
@@ -55,9 +38,54 @@ import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint
 import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_PER_SHARD_DELETE;
 import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_PER_SHARD_PER_REPLICA_DELETE;
 import static org.apache.solr.client.solrj.request.CollectionApiMapping.EndPoint.PER_COLLECTION_SHARDS_COMMANDS;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.*;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICA;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDROLE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ALIASPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.BACKUP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.BALANCESHARDUNIQUE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CLUSTERPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CLUSTERSTATUS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.COLLECTIONPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATEALIAS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATESHARD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEALIAS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICA;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICAPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETESHARD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETESTATUS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.LIST;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.LISTALIASES;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.MIGRATE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.MODIFYCOLLECTION;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.MOVEREPLICA;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.OVERSEERSTATUS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.REBALANCELEADERS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.RELOAD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.REMOVEROLE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.REQUESTSTATUS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.RESTORE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.SPLITSHARD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.UTILIZENODE;
 import static org.apache.solr.common.params.CommonParams.NAME;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import org.apache.solr.client.solrj.SolrRequest;
+import org.apache.solr.common.params.CollectionParams.CollectionAction;
+import org.apache.solr.common.params.ConfigSetParams.ConfigSetAction;
+import org.apache.solr.common.util.CommandOperation;
+import org.apache.solr.common.util.Pair;
+import org.apache.solr.common.util.Utils;
+
 /**
  * Stores the mapping of v1 API parameters to v2 API parameters
  * for the collection API and the configset API.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/ConfigSetAdminRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/ConfigSetAdminRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/ConfigSetAdminRequest.java
index 6916877..e2d197b 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/ConfigSetAdminRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/ConfigSetAdminRequest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.client.solrj.request;
 
+import static org.apache.solr.common.params.CommonParams.NAME;
+
 import java.util.Map;
 import java.util.Properties;
 
@@ -27,8 +29,6 @@ import org.apache.solr.common.params.ConfigSetParams.ConfigSetAction;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SolrParams;
 
-import static org.apache.solr.common.params.CommonParams.NAME;
-
 /**
  * This class is experimental and subject to change.
  *
@@ -67,7 +67,8 @@ public abstract class ConfigSetAdminRequest
 
 
   @Override
-  protected abstract R createResponse(SolrClient client);
+  public
+  abstract R createResponse(SolrClient client);
 
   protected abstract static class ConfigSetSpecificAdminRequest
        <T extends ConfigSetAdminRequest<T,ConfigSetAdminResponse>>
@@ -94,7 +95,7 @@ public abstract class ConfigSetAdminRequest
     }
 
     @Override
-    protected ConfigSetAdminResponse createResponse(SolrClient client) {
+    public ConfigSetAdminResponse createResponse(SolrClient client) {
       return new ConfigSetAdminResponse();
     }
   }
@@ -173,7 +174,7 @@ public abstract class ConfigSetAdminRequest
     }
 
     @Override
-    protected ConfigSetAdminResponse.List createResponse(SolrClient client) {
+    public ConfigSetAdminResponse.List createResponse(SolrClient client) {
       return new ConfigSetAdminResponse.List();
     }
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
index 692b54d..965e7c4 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
@@ -567,7 +567,7 @@ public class CoreAdminRequest extends SolrRequest<CoreAdminResponse> {
 
 
   @Override
-  protected CoreAdminResponse createResponse(SolrClient client) {
+  public CoreAdminResponse createResponse(SolrClient client) {
     return new CoreAdminResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/DelegationTokenRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DelegationTokenRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DelegationTokenRequest.java
index 697a6ad..7716eb8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DelegationTokenRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DelegationTokenRequest.java
@@ -50,7 +50,8 @@ public abstract class DelegationTokenRequest
   protected abstract Q getThis();
 
   @Override
-  protected abstract R createResponse(SolrClient client);
+  public
+  abstract R createResponse(SolrClient client);
 
   public static class Get extends DelegationTokenRequest<Get, DelegationTokenResponse.Get> {
     protected String renewer;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
index ef5e954..a05b3f5 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
@@ -45,7 +45,7 @@ public class DirectXmlRequest extends SolrRequest<UpdateResponse> implements IsU
   }
 
   @Override
-  protected UpdateResponse createResponse(SolrClient client) {
+  public UpdateResponse createResponse(SolrClient client) {
     return new UpdateResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
index be985e1..e0af63c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.solr.client.solrj.request;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
@@ -32,8 +34,6 @@ import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.params.AnalysisParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 
-import static java.nio.charset.StandardCharsets.UTF_8;
-
 /**
  * A request for the org.apache.solr.handler.DocumentAnalysisRequestHandler.
  *
@@ -85,7 +85,7 @@ public class DocumentAnalysisRequest extends SolrRequest<DocumentAnalysisRespons
   }
 
   @Override
-  protected DocumentAnalysisResponse createResponse(SolrClient client) {
+  public DocumentAnalysisResponse createResponse(SolrClient client) {
     return new DocumentAnalysisResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
index aeea9e0..f0cdccc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
@@ -58,7 +58,7 @@ public class FieldAnalysisRequest extends SolrRequest<FieldAnalysisResponse> {
 
 
   @Override
-  protected FieldAnalysisResponse createResponse(SolrClient client) {
+  public FieldAnalysisResponse createResponse(SolrClient client) {
     if (fieldTypes == null && fieldNames == null) {
       throw new IllegalStateException("At least one field type or field name need to be specified");
     }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/GenericSolrRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/GenericSolrRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/GenericSolrRequest.java
index d878925..8e2100c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/GenericSolrRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/GenericSolrRequest.java
@@ -48,7 +48,7 @@ public class GenericSolrRequest extends SolrRequest<SimpleSolrResponse> {
   }
 
   @Override
-  protected SimpleSolrResponse createResponse(SolrClient client) {
+  public SimpleSolrResponse createResponse(SolrClient client) {
     return response;
   }
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/HealthCheckRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/HealthCheckRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/HealthCheckRequest.java
index 50d4d8c..443d126 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/HealthCheckRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/HealthCheckRequest.java
@@ -17,14 +17,14 @@
 
 package org.apache.solr.client.solrj.request;
 
+import static org.apache.solr.common.params.CommonParams.HEALTH_CHECK_HANDLER_PATH;
+
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.response.HealthCheckResponse;
 import org.apache.solr.common.params.SolrParams;
 
-import static org.apache.solr.common.params.CommonParams.HEALTH_CHECK_HANDLER_PATH;
-
 public class HealthCheckRequest extends SolrRequest<HealthCheckResponse> {
 
   public HealthCheckRequest() {
@@ -41,10 +41,10 @@ public class HealthCheckRequest extends SolrRequest<HealthCheckResponse> {
   }
 
   @Override
-  protected HealthCheckResponse createResponse(SolrClient client) {
+  public HealthCheckResponse createResponse(SolrClient client) {
     // TODO: Accept requests w/ CloudSolrClient while ensuring that the request doesn't get routed to
     // an unintended recepient.
-    assert client instanceof HttpSolrClient;
+    assert client instanceof Http2SolrClient;
     return new HealthCheckResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
index dde6dba..4f24a19 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
@@ -184,7 +184,6 @@ public class JavaBinUpdateRequestCodec {
             // indicate that we've hit the last doc in the batch, used to enable optimizations when doing replication
             updateRequest.lastDocInBatch();
           }
-
           handler.update(sdoc, updateRequest, commitWithin, overwrite);
         }
         return Collections.EMPTY_LIST;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
index fe14bce..a439d88 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
@@ -90,7 +90,7 @@ public class LukeRequest extends SolrRequest<LukeResponse> {
   
 
   @Override
-  protected LukeResponse createResponse(SolrClient client) {
+  public LukeResponse createResponse(SolrClient client) {
     return new LukeResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
index 1c2fda4..dd7a1e9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
@@ -67,7 +67,7 @@ public class QueryRequest extends SolrRequest<QueryResponse> {
   //---------------------------------------------------------------------------------
 
   @Override
-  protected QueryResponse createResponse(SolrClient client) {
+  public QueryResponse createResponse(SolrClient client) {
     return new QueryResponse(client);
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
index 43801c6..48e1339 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
@@ -46,7 +46,7 @@ public class SolrPing extends SolrRequest<SolrPingResponse> {
   }
   
   @Override
-  protected SolrPingResponse createResponse(SolrClient client) {
+  public SolrPingResponse createResponse(SolrClient client) {
     return new SolrPingResponse();
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/V1toV2ApiMapper.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/V1toV2ApiMapper.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/V1toV2ApiMapper.java
index 0ec1112..d8748fc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/V1toV2ApiMapper.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/V1toV2ApiMapper.java
@@ -17,6 +17,8 @@
 
 package org.apache.solr.client.solrj.request;
 
+import static org.apache.solr.common.util.ValidatingJsonMap.NOT_NULL;
+
 import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -35,8 +37,6 @@ import org.apache.solr.common.util.Template;
 import org.apache.solr.common.util.Utils;
 import org.apache.solr.common.util.ValidatingJsonMap;
 
-import static org.apache.solr.common.util.ValidatingJsonMap.NOT_NULL;
-
 
 public class V1toV2ApiMapper {
 
@@ -135,9 +135,10 @@ public class V1toV2ApiMapper {
 
     if (info.meta.getHttpMethod() == SolrRequest.METHOD.POST) {
       if (info.path == null) info.setPath();
+      System.out.println("CONVERT");
       return info.convert(request.getParams());
     }
-
+    System.out.println("DONT CONVERT");
     return null;
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/V2Request.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/V2Request.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/V2Request.java
index c858f7b..1ae7ad9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/V2Request.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/V2Request.java
@@ -17,6 +17,9 @@
 
 package org.apache.solr.client.solrj.request;
 
+import static org.apache.solr.common.params.CommonParams.JAVABIN_MIME;
+import static org.apache.solr.common.params.CommonParams.JSON_MIME;
+
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.concurrent.atomic.AtomicLong;
@@ -31,16 +34,13 @@ import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.JavaBinCodec;
 import org.apache.solr.common.util.Utils;
 
-import static org.apache.solr.common.params.CommonParams.JAVABIN_MIME;
-import static org.apache.solr.common.params.CommonParams.JSON_MIME;
-
 public class V2Request extends SolrRequest<V2Response> implements MapWriter {
   //only for debugging purposes
   public static final ThreadLocal<AtomicLong> v2Calls = new ThreadLocal<>();
   static final Pattern COLL_REQ_PATTERN = Pattern.compile("/(c|collections)/([^/])+/(?!shards)");
   private Object payload;
   private SolrParams solrParams;
-  public final boolean useBinary;
+  public final boolean useBinary = true;
   private String collection;
   private boolean isPerCollectionRequest = false;
 
@@ -51,7 +51,8 @@ public class V2Request extends SolrRequest<V2Response> implements MapWriter {
       this.collection = matcher.group(2);
       isPerCollectionRequest = true;
     }
-    this.useBinary = useBinary;
+    // nocommit
+    //this.useBinary = useBinary;
 
   }
 
@@ -94,7 +95,7 @@ public class V2Request extends SolrRequest<V2Response> implements MapWriter {
   }
 
   @Override
-  protected V2Response createResponse(SolrClient client) {
+  public V2Response createResponse(SolrClient client) {
     return new V2Response();
   }
 
@@ -111,7 +112,7 @@ public class V2Request extends SolrRequest<V2Response> implements MapWriter {
     private METHOD method = METHOD.GET;
     private Object payload;
     private SolrParams params;
-    private boolean useBinary = false;
+    private boolean useBinary = true;
 
     /**
      * Create a Builder object based on the provided resource.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/request/schema/SchemaRequest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/schema/SchemaRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/schema/SchemaRequest.java
index 6add379..08fe360 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/schema/SchemaRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/schema/SchemaRequest.java
@@ -126,7 +126,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
   }
 
   @Override
-  protected SchemaResponse createResponse(SolrClient client) {
+  public SchemaResponse createResponse(SolrClient client) {
     return new SchemaResponse();
   }
 
@@ -143,7 +143,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.SchemaNameResponse createResponse(SolrClient client) {
+    public SchemaResponse.SchemaNameResponse createResponse(SolrClient client) {
       return new SchemaResponse.SchemaNameResponse();
     }
   }
@@ -162,7 +162,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.SchemaVersionResponse createResponse(SolrClient client) {
+    public SchemaResponse.SchemaVersionResponse createResponse(SolrClient client) {
       return new SchemaResponse.SchemaVersionResponse();
     }
   }
@@ -180,7 +180,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.FieldsResponse createResponse(SolrClient client) {
+    public SchemaResponse.FieldsResponse createResponse(SolrClient client) {
       return new SchemaResponse.FieldsResponse();
     }
   }
@@ -204,7 +204,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.FieldResponse createResponse(SolrClient client) {
+    public SchemaResponse.FieldResponse createResponse(SolrClient client) {
       return new SchemaResponse.FieldResponse();
     }
   }
@@ -223,7 +223,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.DynamicFieldsResponse createResponse(SolrClient client) {
+    public SchemaResponse.DynamicFieldsResponse createResponse(SolrClient client) {
       return new SchemaResponse.DynamicFieldsResponse();
     }
   }
@@ -247,7 +247,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.DynamicFieldResponse createResponse(SolrClient client) {
+    public SchemaResponse.DynamicFieldResponse createResponse(SolrClient client) {
       return new SchemaResponse.DynamicFieldResponse();
     }
   }
@@ -266,7 +266,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.FieldTypesResponse createResponse(SolrClient client) {
+    public SchemaResponse.FieldTypesResponse createResponse(SolrClient client) {
       return new SchemaResponse.FieldTypesResponse();
     }
   }
@@ -290,7 +290,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.FieldTypeResponse createResponse(SolrClient client) {
+    public SchemaResponse.FieldTypeResponse createResponse(SolrClient client) {
       return new SchemaResponse.FieldTypeResponse();
     }
   }
@@ -309,7 +309,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.CopyFieldsResponse createResponse(SolrClient client) {
+    public SchemaResponse.CopyFieldsResponse createResponse(SolrClient client) {
       return new SchemaResponse.CopyFieldsResponse();
     }
   }
@@ -328,7 +328,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.UniqueKeyResponse createResponse(SolrClient client) {
+    public SchemaResponse.UniqueKeyResponse createResponse(SolrClient client) {
       return new SchemaResponse.UniqueKeyResponse();
     }
   }
@@ -346,7 +346,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.GlobalSimilarityResponse createResponse(SolrClient client) {
+    public SchemaResponse.GlobalSimilarityResponse createResponse(SolrClient client) {
       return new SchemaResponse.GlobalSimilarityResponse();
     }
   }
@@ -719,7 +719,7 @@ public class SchemaRequest extends AbstractSchemaRequest<SchemaResponse> {
     }
 
     @Override
-    protected SchemaResponse.UpdateResponse createResponse(SolrClient client) {
+    public SchemaResponse.UpdateResponse createResponse(SolrClient client) {
       return new SchemaResponse.UpdateResponse();
     }
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java
index b2d1884..d1e1995 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java
@@ -16,12 +16,12 @@
  */
 package org.apache.solr.client.solrj.response;
 
-import org.apache.solr.common.util.NamedList;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.solr.common.util.NamedList;
+
 /**
  * A base class for all analysis responses.
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/CoreAdminResponse.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/CoreAdminResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/CoreAdminResponse.java
index c46fe74..5e8d675 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/CoreAdminResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/CoreAdminResponse.java
@@ -17,6 +17,7 @@
 package org.apache.solr.client.solrj.response;
 
 import java.util.Date;
+
 import org.apache.solr.common.util.NamedList;
 
 /**

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/DocumentAnalysisResponse.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/DocumentAnalysisResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/DocumentAnalysisResponse.java
index 231199d..55dab9a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/DocumentAnalysisResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/DocumentAnalysisResponse.java
@@ -16,13 +16,13 @@
  */
 package org.apache.solr.client.solrj.response;
 
-import org.apache.solr.common.util.NamedList;
-
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.solr.common.util.NamedList;
+
 /**
  * A response that is returned by processing the {@link org.apache.solr.client.solrj.request.DocumentAnalysisRequest}.
  * Holds a map of {@link DocumentAnalysis} objects by a document id (unique key).

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldAnalysisResponse.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldAnalysisResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldAnalysisResponse.java
index 533885b..4b51091 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldAnalysisResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldAnalysisResponse.java
@@ -16,12 +16,12 @@
  */
 package org.apache.solr.client.solrj.response;
 
-import org.apache.solr.common.util.NamedList;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.solr.common.util.NamedList;
+
 /**
  * A response that is returned by processing the {@link org.apache.solr.client.solrj.request.FieldAnalysisRequest}.
  * Holds a map of {@link Analysis} objects per field name as well as a map of {@link Analysis} objects per field type.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldStatsInfo.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldStatsInfo.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldStatsInfo.java
index 96e4059..2954ffd 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldStatsInfo.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/FieldStatsInfo.java
@@ -16,8 +16,6 @@
  */
 package org.apache.solr.client.solrj.response;
 
-import org.apache.solr.common.util.NamedList;
-
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -26,6 +24,8 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.solr.common.util.NamedList;
+
 /**
  * Holds stats info
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/Group.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/Group.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/Group.java
index 853a547..1612b64 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/Group.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/Group.java
@@ -16,10 +16,10 @@
  */
 package org.apache.solr.client.solrj.response;
 
-import org.apache.solr.common.SolrDocumentList;
-
 import java.io.Serializable;
 
+import org.apache.solr.common.SolrDocumentList;
+
 /**
  * Represents a group. A group contains a common group value that all documents inside the group share and
  * documents that belong to this group.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
index f8756cc..9edf438 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 package org.apache.solr.client.solrj.response;
-import org.apache.solr.common.util.NamedList;
-
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.solr.common.util.NamedList;
+
 /**
  * Encapsulates responses from SpellCheckComponent
  *

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrInternalHttpClient.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrInternalHttpClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrInternalHttpClient.java
new file mode 100644
index 0000000..ddff2cf
--- /dev/null
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrInternalHttpClient.java
@@ -0,0 +1,188 @@
+/*
+ * 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.util;
+
+import java.io.Closeable;
+import java.lang.invoke.MethodHandles;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.solr.common.util.IOUtils;
+import org.apache.solr.common.util.ObjectReleaseTracker;
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.HttpClientTransport;
+import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP;
+import org.eclipse.jetty.http2.client.HTTP2Client;
+import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SolrInternalHttpClient extends HttpClient implements Closeable {
+  
+  private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+  
+  public static final int DEFAULT_IDLE_TIMEOUT = 90000;
+
+  public static final int MAX_OUTSTANDING_REQUESTS = 1000;
+
+  private static AtomicInteger count = new AtomicInteger();
+
+  private SolrQueuedThreadPool qtp;
+
+  private boolean internalQtp;
+
+  public SolrInternalHttpClient(String name) {
+    this(name, null, false);
+  }
+
+  public SolrInternalHttpClient(String name, boolean start) {
+    this(name, null, start);
+  }
+
+  public SolrInternalHttpClient(String name, SolrQueuedThreadPool qtp) {
+    this(name, qtp, false);
+  }
+
+  public SolrInternalHttpClient(String name, SolrQueuedThreadPool qtp, boolean start) {
+    super(createTransport(), createSslContextFactory());
+
+    int cnt = count.incrementAndGet();
+    String fullName = "JettyHttpClient-" + name + ":" + cnt;
+    SolrQueuedThreadPool useQtp;
+    if (qtp == null) {
+      useQtp = new SolrQueuedThreadPool(10000, 0, 3000, null,
+          new ThreadGroup(fullName));
+      useQtp.setName(fullName);
+      try {
+        useQtp.start();
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+      // qtp.setReservedThreads(0);
+      this.internalQtp = true;
+    } else {
+      useQtp = qtp;
+    }
+    this.qtp = useQtp;
+
+    // Scheduler scheduler = new SolrHttpClientScheduler("HttpClientScheduler", true, null, new
+    // ThreadGroup("HttpClientScheduler"), 1);
+
+    // httpClient.setScheduler(scheduler);
+
+    setRequestBufferSize(16384);
+    setResponseBufferSize(16384);
+
+    setExecutor(this.qtp);
+    // httpClient.setRemoveIdleDestinations(true); // nocommit
+    setStrictEventOrdering(true);
+    setConnectBlocking(true);
+    setFollowRedirects(false);
+    setMaxConnectionsPerDestination(1);
+    setMaxRequestsQueuedPerDestination(MAX_OUTSTANDING_REQUESTS * 4); // comfortably above max outstanding
+                                                                      // requests
+    setIdleTimeout(DEFAULT_IDLE_TIMEOUT);
+    setConnectTimeout(30000); // TODO set lower for tests? nocommit use config
+
+    if (start) {
+      try {
+        start();
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+
+    assert ObjectReleaseTracker.track(this);
+  }
+
+  private static SslContextFactory createSslContextFactory() {
+    // TODO: create connection factory?
+
+    // Instantiate and configure the SslContextFactory
+    SslContextFactory sslContextFactory = new SslContextFactory(true);
+    sslContextFactory.setProvider("Conscrypt");
+
+    String keyStorePath = System.getProperty("javax.net.ssl.keyStore");
+    if (keyStorePath != null) {
+      sslContextFactory.setKeyStorePath(keyStorePath);
+    }
+    String keyStorePassword = System.getProperty("javax.net.ssl.keyStorePassword");
+    if (keyStorePassword != null) {
+      sslContextFactory.setKeyStorePassword(keyStorePassword);
+    }
+
+    if (Boolean.getBoolean("org.apache.solr.ssl.enabled")) {
+      sslContextFactory.setNeedClientAuth(true);
+      String trustStorePath = System.getProperty("javax.net.ssl.trustStore");
+      if (trustStorePath != null) {
+        sslContextFactory.setKeyStorePassword(trustStorePath);
+      }
+      String trustStorePassword = System.getProperty("javax.net.ssl.trustStorePassword");
+      if (trustStorePassword != null) {
+        sslContextFactory.setKeyStorePassword(trustStorePassword);
+      }
+    } else {
+      sslContextFactory.setNeedClientAuth(false);
+    }
+
+    return sslContextFactory;
+  }
+
+  public static HttpClientTransport createTransport() {
+    HttpClientTransport transport;
+    boolean useHttp1_1 = false;
+    if (!useHttp1_1) {
+      HTTP2Client http2client = new HTTP2Client();
+      // TODO
+      http2client.setSelectors(2);
+
+      transport = new HttpClientTransportOverHTTP2(http2client);
+
+      // httpClient = new HttpClient(transport, sslContextFactory);
+    } else {
+      assert false : "We should not use http1.1";
+      transport = new HttpClientTransportOverHTTP(2);
+      // transport.setConnectionPoolFactory(factory);
+
+      // httpClient = new HttpClient(transport, sslContextFactory);
+    }
+    return transport;
+  }
+
+  public void close() {
+
+    try {
+      // this allows 30 seconds until we start interrupting
+      setStopTimeout(60000); // nocommit
+      stop();
+
+      // now we wait up 30 seconds gracefully, then interrupt again before waiting for the rest of the timeout
+      // setStopTimeout(60000);
+      // doStop();
+    } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    }
+
+    if (internalQtp) {
+      IOUtils.closeQuietly(qtp);
+    }
+
+    assert ObjectReleaseTracker.release(this);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrQueuedThreadPool.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrQueuedThreadPool.java b/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrQueuedThreadPool.java
new file mode 100644
index 0000000..8d3f5b3
--- /dev/null
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrQueuedThreadPool.java
@@ -0,0 +1,61 @@
+/*
+ * 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.util;
+
+import java.io.Closeable;
+import java.util.concurrent.BlockingQueue;
+
+import org.apache.solr.common.util.ObjectReleaseTracker;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
+
+public class SolrQueuedThreadPool extends QueuedThreadPool implements Closeable {
+  public SolrQueuedThreadPool() {
+    assert ObjectReleaseTracker.track(this);
+  }
+
+  public SolrQueuedThreadPool(int maxThreads, int minThreads, int idleTimeouut, BlockingQueue<Runnable> queue, ThreadGroup threadGroup) {
+    super(maxThreads, minThreads, idleTimeouut, queue, threadGroup);
+    assert ObjectReleaseTracker.track(this);
+  }
+  
+  @Override
+  protected Thread newThread(Runnable runnable) {
+    System.out.println("new thread");
+    Thread thread = super.newThread(runnable);
+    System.out.println(" thread:" + thread.getName() + " " + thread.getId());
+    return thread;
+  }
+
+  public void close() {
+    while (!isStopped()) {
+      try {
+        // this allows 15 seconds until we start interrupting
+        setStopTimeout(60000); // nocommit
+        stop();
+        
+        // now we wait up 30 seconds gracefully, then interrupt again before waiting for the rest of the timeout
+       // setStopTimeout(60000);
+       // doStop();
+      } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+    assert ObjectReleaseTracker.release(this);
+  }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/common/EmptyEntityResolver.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/EmptyEntityResolver.java b/solr/solrj/src/java/org/apache/solr/common/EmptyEntityResolver.java
index 6536b95..b9f9f8a 100644
--- a/solr/solrj/src/java/org/apache/solr/common/EmptyEntityResolver.java
+++ b/solr/solrj/src/java/org/apache/solr/common/EmptyEntityResolver.java
@@ -17,14 +17,15 @@
 package org.apache.solr.common;
 
 import java.io.InputStream;
-import org.xml.sax.InputSource;
-import org.xml.sax.EntityResolver;
+
 import javax.xml.XMLConstants;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLResolver;
 
 import org.apache.commons.io.input.ClosedInputStream;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
 
 /**
  * This class provides several singletons of entity resolvers used by

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
index 0910868..7d6770a 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
@@ -17,7 +17,6 @@
 package org.apache.solr.common.cloud;
 
 import java.lang.invoke.MethodHandles;
-
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/common/cloud/CollectionStateWatcher.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/CollectionStateWatcher.java b/solr/solrj/src/java/org/apache/solr/common/cloud/CollectionStateWatcher.java
index d75823c..ca03738 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/CollectionStateWatcher.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/CollectionStateWatcher.java
@@ -38,6 +38,6 @@ public interface CollectionStateWatcher {
    *
    * @return true if the watcher should be removed
    */
-  boolean onStateChanged(Set<String> liveNodes, DocCollection collectionState);
+  boolean onStateChanged(boolean closing, Set<String> liveNodes, DocCollection collectionState);
 
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java b/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
index a1cd02c..5d6bde9 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
@@ -16,16 +16,16 @@
  */
 package org.apache.solr.common.cloud;
 
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.Hash;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.util.Hash;
+
 //
 // user!uniqueid
 // app!user!uniqueid

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/74a9b54c/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java b/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
index 846c25e..f4cc39d 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
@@ -16,11 +16,7 @@
  */
 package org.apache.solr.common.cloud;
 
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.StrUtils;
-import org.noggit.JSONWriter;
+import static org.apache.solr.common.cloud.DocCollection.DOC_ROUTER;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -31,7 +27,11 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.solr.common.cloud.DocCollection.DOC_ROUTER;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.util.StrUtils;
+import org.noggit.JSONWriter;
 
 /**
  * Class to partition int range into n ranges.


Mime
View raw message