You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2014/04/04 12:27:14 UTC

svn commit: r1584603 [12/12] - in /lucene/dev/branches/solr5914: ./ dev-tools/ dev-tools/idea/solr/core/src/test/ lucene/ lucene/analysis/ lucene/analysis/common/ lucene/analysis/common/src/java/org/apache/lucene/analysis/br/ lucene/analysis/common/src...

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrServer.java Fri Apr  4 10:27:05 2014
@@ -298,85 +298,17 @@ public class LBHttpSolrServer extends So
       rsp.server = serverStr;
       HttpSolrServer server = makeServer(serverStr);
 
-      try {
-        rsp.rsp = server.request(req.getRequest());
+      ex = doRequest(server, req, rsp, isUpdate, false, null);
+      if (ex == null) {
         return rsp; // SUCCESS
-      } catch (SolrException e) {
-        // we retry on 404 or 403 or 503 or 500
-        // unless it's an update - then we only retry on connect exceptions
-        if (!isUpdate && RETRY_CODES.contains(e.code())) {
-          ex = addZombie(server, e);
-        } else {
-          // Server is alive but the request was likely malformed or invalid
-          throw e;
-        }
-      } catch (SocketException e) {
-        if (!isUpdate || e instanceof ConnectException) {
-          ex = addZombie(server, e);
-        } else {
-          throw e;
-        }
-      } catch (SocketTimeoutException e) {
-        if (!isUpdate) {
-          ex = addZombie(server, e);
-        } else {
-          throw e;
-        }
-      } catch (SolrServerException e) {
-        Throwable rootCause = e.getRootCause();
-        if (!isUpdate && rootCause instanceof IOException) {
-          ex = addZombie(server, e);
-        } else if (isUpdate && rootCause instanceof ConnectException) {
-          ex = addZombie(server, e);
-        } else {
-          throw e;
-        }
-      } catch (Exception e) {
-        throw new SolrServerException(e);
       }
     }
 
     // try the servers we previously skipped
     for (ServerWrapper wrapper : skipped) {
-      try {
-        rsp.rsp = wrapper.solrServer.request(req.getRequest());
-        zombieServers.remove(wrapper.getKey());
-        return rsp; // SUCCESS
-      } catch (SolrException e) {
-        // we retry on 404 or 403 or 503 or 500
-        // unless it's an update - then we only retry on connect exceptions
-        if (!isUpdate && RETRY_CODES.contains(e.code())) {
-          ex = e;
-          // already a zombie, no need to re-add
-        } else {
-          // Server is alive but the request was malformed or invalid
-          zombieServers.remove(wrapper.getKey());
-          throw e;
-        }
-
-      } catch (SocketException e) {
-        if (!isUpdate || e instanceof ConnectException) {
-          ex = e;
-        } else {
-          throw e;
-        }
-      } catch (SocketTimeoutException e) {
-        if (!isUpdate) {
-          ex = e;
-        } else {
-          throw e;
-        }
-      } catch (SolrServerException e) {
-        Throwable rootCause = e.getRootCause();
-        if (!isUpdate && rootCause instanceof IOException) {
-          ex = e;
-        } else if (isUpdate && rootCause instanceof ConnectException) {
-          ex = e;
-        } else {
-          throw e;
-        }
-      } catch (Exception e) {
-        throw new SolrServerException(e);
+      ex = doRequest(wrapper.solrServer, req, rsp, isUpdate, true, wrapper.getKey());
+      if (ex == null) {
+         return rsp; // SUCCESS
       }
     }
 
@@ -401,7 +333,53 @@ public class LBHttpSolrServer extends So
     return e;
   }  
 
+  protected Exception doRequest(HttpSolrServer server, Req req, Rsp rsp, boolean isUpdate,
+      boolean isZombie, String zombieKey) throws SolrServerException, IOException {
+    Exception ex = null;
+    try {
+      rsp.rsp = server.request(req.getRequest());
+      if (isZombie) {
+        zombieServers.remove(zombieKey);
+      }
+    } catch (SolrException e) {
+      // we retry on 404 or 403 or 503 or 500
+      // unless it's an update - then we only retry on connect exception
+      if (!isUpdate && RETRY_CODES.contains(e.code())) {
+        ex = (!isZombie) ? addZombie(server, e) : e;
+      } else {
+        // Server is alive but the request was likely malformed or invalid
+        if (isZombie) {
+          zombieServers.remove(zombieKey);
+        }
+        throw e;
+      }
+    } catch (SocketException e) {
+      if (!isUpdate || e instanceof ConnectException) {
+        ex = (!isZombie) ? addZombie(server, e) : e;
+      } else {
+        throw e;
+      }
+    } catch (SocketTimeoutException e) {
+      if (!isUpdate) {
+        ex = (!isZombie) ? addZombie(server, e) : e;
+      } else {
+        throw e;
+      }
+    } catch (SolrServerException e) {
+      Throwable rootCause = e.getRootCause();
+      if (!isUpdate && rootCause instanceof IOException) {
+        ex = (!isZombie) ? addZombie(server, e) : e;
+      } else if (isUpdate && rootCause instanceof ConnectException) {
+        ex = (!isZombie) ? addZombie(server, e) : e;
+      } else {
+        throw e;
+      }
+    } catch (Exception e) {
+      throw new SolrServerException(e);
+    }
 
+    return ex;
+  }
 
   private void updateAliveList() {
     synchronized (aliveServers) {

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java Fri Apr  4 10:27:05 2014
@@ -83,6 +83,12 @@ public abstract class AbstractUpdateRequ
     return setAction(action, waitFlush, waitSearcher,maxSegments,false,expungeDeletes);
   }
 
+  public AbstractUpdateRequest setAction(ACTION action, boolean waitFlush, boolean waitSearcher, int maxSegments, boolean softCommit, boolean expungeDeletes, boolean openSearcher) {
+    setAction(action, waitFlush, waitSearcher, maxSegments, softCommit, expungeDeletes);
+    params.set(UpdateParams.OPEN_SEARCHER, String.valueOf(openSearcher));
+    return this;
+  }
+
   /**
    * @since Solr 1.4
    */

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java Fri Apr  4 10:27:05 2014
@@ -28,6 +28,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 /**
  * A RequestWriter is used to write requests to Solr.
@@ -38,7 +39,7 @@ import java.nio.charset.Charset;
  * @since solr 1.4
  */
 public class RequestWriter {
-  public static final Charset UTF_8 = Charset.forName("UTF-8");
+  public static final Charset UTF_8 = StandardCharsets.UTF_8;
 
   public Collection<ContentStream> getContentStreams(SolrRequest req) throws IOException {
     if (req instanceof UpdateRequest) {

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java Fri Apr  4 10:27:05 2014
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -505,22 +506,17 @@ public class SolrZkClient {
     }
     string.append(dent + path + " (" + children.size() + ")" + NEWL);
     if (data != null) {
-      try {
-        String dataString = new String(data, "UTF-8");
-        if ((!path.endsWith(".txt") && !path.endsWith(".xml")) || path.endsWith(ZkStateReader.CLUSTER_STATE)) {
-          if (path.endsWith(".xml")) {
-            // this is the cluster state in xml format - lets pretty print
-            dataString = prettyPrint(dataString);
-          }
-          
-          string.append(dent + "DATA:\n" + dent + "    "
-              + dataString.replaceAll("\n", "\n" + dent + "    ") + NEWL);
-        } else {
-          string.append(dent + "DATA: ...supressed..." + NEWL);
-        }
-      } catch (UnsupportedEncodingException e) {
-        // can't happen - UTF-8
-        throw new RuntimeException(e);
+      String dataString = new String(data, StandardCharsets.UTF_8);
+      if ((!path.endsWith(".txt") && !path.endsWith(".xml")) || path.endsWith(ZkStateReader.CLUSTER_STATE)) {
+        if (path.endsWith(".xml")) {
+          // this is the cluster state in xml format - lets pretty print
+          dataString = prettyPrint(dataString);
+        }
+        
+        string.append(dent + "DATA:\n" + dent + "    "
+            + dataString.replaceAll("\n", "\n" + dent + "    ") + NEWL);
+      } else {
+        string.append(dent + "DATA: ...supressed..." + NEWL);
       }
     }
 

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/CollectionParams.java Fri Apr  4 10:27:05 2014
@@ -44,7 +44,9 @@ public interface CollectionParams 
     CLUSTERPROP,
     REQUESTSTATUS,
     ADDREPLICA,
-    OVERSEERSTATUS;
+    OVERSEERSTATUS,
+    LIST,
+    CLUSTERSTATUS;
     
     public static CollectionAction get( String p )
     {

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/ExpandParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/ExpandParams.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/ExpandParams.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/params/ExpandParams.java Fri Apr  4 10:27:05 2014
@@ -25,7 +25,8 @@ public interface ExpandParams {
   public static final String EXPAND = "expand";
   public static final String EXPAND_SORT = EXPAND + ".sort";
   public static final String EXPAND_ROWS = EXPAND + ".rows";
-
-
+  public static final String EXPAND_FIELD = EXPAND + ".field";
+  public static final String EXPAND_Q = EXPAND + ".q";
+  public static final String EXPAND_FQ = EXPAND + ".fq";
 }
 

Modified: lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/java/org/apache/solr/common/util/ContentStreamBase.java Fri Apr  4 10:27:05 2014
@@ -27,6 +27,7 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
 import java.util.Locale;
 
 /**
@@ -37,7 +38,7 @@ import java.util.Locale;
  */
 public abstract class ContentStreamBase implements ContentStream
 {
-  public static final String DEFAULT_CHARSET = "utf-8";
+  public static final String DEFAULT_CHARSET = StandardCharsets.UTF_8.name();
   
   protected String name;
   protected String sourceInfo;

Modified: lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrServerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrServerTest.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrServerTest.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrServerTest.java Fri Apr  4 10:27:05 2014
@@ -238,9 +238,9 @@ public class CloudSolrServerTest extends
     // Calculate a number of shard keys that route to the same shard.
     int n;
     if (TEST_NIGHTLY) {
-      n = random().nextInt(999) + 1;
+      n = random().nextInt(999) + 2;
     } else {
-      n = random().nextInt(9) + 1;
+      n = random().nextInt(9) + 2;
     }
     
     List<String> sameShardRoutes = Lists.newArrayList();

Modified: lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java Fri Apr  4 10:27:05 2014
@@ -41,6 +41,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 /**
@@ -102,7 +103,7 @@ public class NoOpResponseParserTest exte
     NoOpResponseParser parser = new NoOpResponseParser();
     try (final InputStream is = getResponse()) {
       assertNotNull(is);
-      Reader in = new InputStreamReader(is, "UTF-8");
+      Reader in = new InputStreamReader(is, StandardCharsets.UTF_8);
       NamedList<Object> response = parser.processResponse(in);
       assertNotNull(response.get("response"));
       String expectedResponse = IOUtils.toString(getResponse(), "UTF-8");

Modified: lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java Fri Apr  4 10:27:05 2014
@@ -18,6 +18,7 @@
 package org.apache.solr.client.solrj.response;
 
 import junit.framework.Assert;
+
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.solr.client.solrj.impl.XMLResponseParser;
 import org.apache.solr.common.SolrDocumentList;
@@ -29,6 +30,7 @@ import org.junit.Test;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 /**
@@ -42,7 +44,7 @@ public class QueryResponseTest extends L
     XMLResponseParser parser = new XMLResponseParser();
     InputStream is = new SolrResourceLoader(null, null).openResource("solrj/sampleDateFacetResponse.xml");
     assertNotNull(is);
-    Reader in = new InputStreamReader(is, "UTF-8");
+    Reader in = new InputStreamReader(is, StandardCharsets.UTF_8);
     NamedList<Object> response = parser.processResponse(in);
     in.close();
     
@@ -66,7 +68,7 @@ public class QueryResponseTest extends L
     XMLResponseParser parser = new XMLResponseParser();
     InputStream is = new SolrResourceLoader(null, null).openResource("solrj/sampleDateFacetResponse.xml");
     assertNotNull(is);
-    Reader in = new InputStreamReader(is, "UTF-8");
+    Reader in = new InputStreamReader(is, StandardCharsets.UTF_8);
     NamedList<Object> response = parser.processResponse(in);
     in.close();
 
@@ -123,7 +125,7 @@ public class QueryResponseTest extends L
     XMLResponseParser parser = new XMLResponseParser();
     InputStream is = new SolrResourceLoader(null, null).openResource("solrj/sampleGroupResponse.xml");
     assertNotNull(is);
-    Reader in = new InputStreamReader(is, "UTF-8");
+    Reader in = new InputStreamReader(is, StandardCharsets.UTF_8);
     NamedList<Object> response = parser.processResponse(in);
     in.close();
 
@@ -225,7 +227,7 @@ public class QueryResponseTest extends L
     XMLResponseParser parser = new XMLResponseParser();
     InputStream is = new SolrResourceLoader(null, null).openResource("solrj/sampleSimpleGroupResponse.xml");
     assertNotNull(is);
-    Reader in = new InputStreamReader(is, "UTF-8");
+    Reader in = new InputStreamReader(is, StandardCharsets.UTF_8);
     NamedList<Object> response = parser.processResponse(in);
     in.close();
 

Modified: lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/common/util/ContentStreamTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/common/util/ContentStreamTest.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/common/util/ContentStreamTest.java (original)
+++ lucene/dev/branches/solr5914/solr/solrj/src/test/org/apache/solr/common/util/ContentStreamTest.java Fri Apr  4 10:27:05 2014
@@ -25,6 +25,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.net.URL;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.solr.SolrTestCaseJ4;
@@ -58,13 +59,15 @@ public class ContentStreamTest extends S
     InputStream s = stream.getStream();
     FileInputStream fis = new FileInputStream(file);
     InputStreamReader isr = new InputStreamReader(
-        new FileInputStream(file), "UTF-8");
+        new FileInputStream(file), StandardCharsets.UTF_8);
+    Reader r = stream.getReader();
     try {
       assertEquals(file.length(), stream.getSize().intValue());
       assertTrue(IOUtils.contentEquals(fis, s));
-      assertTrue(IOUtils.contentEquals(isr, stream.getReader()));
+      assertTrue(IOUtils.contentEquals(isr, r));
     } finally {
       s.close();
+      r.close();
       isr.close();
       fis.close();
     }
@@ -86,7 +89,7 @@ public class ContentStreamTest extends S
     InputStream s = stream.getStream();
     FileInputStream fis = new FileInputStream(file);
     FileInputStream fis2 = new FileInputStream(file);
-    InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
+    InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8);
     Reader r = stream.getReader();
     try {
       assertTrue(IOUtils.contentEquals(fis2, s));

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Fri Apr  4 10:27:05 2014
@@ -325,7 +325,7 @@ public abstract class SolrTestCaseJ4 ext
     if (xmlStr == null) {
       xmlStr = "<solr></solr>";
     }
-    FileUtils.write(tmpFile, xmlStr, IOUtils.CHARSET_UTF_8.toString());
+    FileUtils.write(tmpFile, xmlStr, IOUtils.UTF_8);
 
     SolrResourceLoader loader = new SolrResourceLoader(solrHome.getAbsolutePath());
     h = new TestHarness(loader, ConfigSolr.fromFile(loader, new File(solrHome, "solr.xml")));

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/analysis/StringMockSolrResourceLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/analysis/StringMockSolrResourceLoader.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/analysis/StringMockSolrResourceLoader.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/analysis/StringMockSolrResourceLoader.java Fri Apr  4 10:27:05 2014
@@ -20,6 +20,7 @@ package org.apache.solr.analysis;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.lucene.analysis.util.ResourceLoader;
 
@@ -51,6 +52,6 @@ class StringMockSolrResourceLoader imple
 
   @Override
   public InputStream openResource(String resource) throws IOException {
-    return new ByteArrayInputStream(text.getBytes("UTF-8"));
+    return new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8));
   }
 }

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java Fri Apr  4 10:27:05 2014
@@ -1136,27 +1136,23 @@ public abstract class AbstractFullDistri
     Set<SolrDocument> onlyInB = new HashSet<>(setB);
     onlyInB.removeAll(setA);
 
-    if (onlyInA.size() > 0) {
-      for (SolrDocument doc : onlyInA) {
-        if (!addFails.contains(doc.getFirstValue("id"))) {
-          legal = false;
-        } else {
-          System.err.println("###### Only in " + aName + ": " + onlyInA
-              + ", but this is expected because we found an add fail for "
-              + doc.getFirstValue("id"));
-        }
+    for (SolrDocument doc : onlyInA) {
+      if (!addFails.contains(doc.getFirstValue("id"))) {
+        legal = false;
+      } else {
+        System.err.println("###### Only in " + aName + ": " + onlyInA
+            + ", but this is expected because we found an add fail for "
+            + doc.getFirstValue("id"));
       }
-      
     }
-    if (onlyInB.size() > 0) {
-      for (SolrDocument doc : onlyInB) {
-        if (!deleteFails.contains(doc.getFirstValue("id"))) {
-          legal = false;
-        } else {
-          System.err.println("###### Only in " + bName + ": " + onlyInB
-              + ", but this is expected because we found a delete fail for "
-              + doc.getFirstValue("id"));
-        }
+      
+    for (SolrDocument doc : onlyInB) {
+      if (!deleteFails.contains(doc.getFirstValue("id"))) {
+        legal = false;
+      } else {
+        System.err.println("###### Only in " + bName + ": " + onlyInB
+            + ", but this is expected because we found a delete fail for "
+            + doc.getFirstValue("id"));
       }
     }
     
@@ -1654,8 +1650,12 @@ public abstract class AbstractFullDistri
     if (client == null) {
       final String baseUrl = getBaseUrl((HttpSolrServer) clients.get(clientIndex));
       SolrServer server = createNewSolrServer("", baseUrl);
-      res.setResponse(server.request(request));
-      server.shutdown();
+      try {
+        res.setResponse(server.request(request));
+        server.shutdown();
+      } finally {
+        if (server != null) server.shutdown();
+      }
     } else {
       res.setResponse(client.request(request));
     }

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java Fri Apr  4 10:27:05 2014
@@ -26,6 +26,7 @@ import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.UnknownHostException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -314,7 +315,7 @@ public class ZkTestServer {
       BufferedReader reader = null;
       try {
           OutputStream outstream = sock.getOutputStream();
-          outstream.write(cmd.getBytes("US-ASCII"));
+          outstream.write(cmd.getBytes(StandardCharsets.US_ASCII));
           outstream.flush();
           // this replicates NC - close the output stream before reading
           sock.shutdownOutput();

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/BaseTestHarness.java Fri Apr  4 10:27:05 2014
@@ -28,10 +28,12 @@ import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
+
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
 
 abstract public class BaseTestHarness {
   private static final ThreadLocal<DocumentBuilder> builderTL = new ThreadLocal<>();
@@ -80,7 +82,7 @@ abstract public class BaseTestHarness {
     Document document = null;
     try {
       document = getXmlDocumentBuilder().parse(new ByteArrayInputStream
-          (xml.getBytes("UTF-8")));
+          (xml.getBytes(StandardCharsets.UTF_8)));
     } catch (UnsupportedEncodingException e1) {
       throw new RuntimeException("Totally weird UTF-8 exception", e1);
     } catch (IOException e2) {
@@ -105,7 +107,7 @@ abstract public class BaseTestHarness {
     Document document = null;
     try {
       document = getXmlDocumentBuilder().parse(new ByteArrayInputStream
-          (xml.getBytes("UTF-8")));
+          (xml.getBytes(StandardCharsets.UTF_8)));
     } catch (UnsupportedEncodingException e1) {
       throw new RuntimeException("Totally weird UTF-8 exception", e1);
     } catch (IOException e2) {

Modified: lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java?rev=1584603&r1=1584602&r2=1584603&view=diff
==============================================================================
--- lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java (original)
+++ lucene/dev/branches/solr5914/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java Fri Apr  4 10:27:05 2014
@@ -18,6 +18,7 @@ package org.apache.solr.util;
 
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 
 import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpressionException;
@@ -106,7 +107,7 @@ public class RestTestHarness extends Bas
   public String put(String request, String content) throws IOException {
     HttpPut httpPut = new HttpPut(getBaseURL() + request);
     httpPut.setEntity(new StringEntity(content, ContentType.create(
-        "application/json", "utf-8")));
+        "application/json", StandardCharsets.UTF_8)));
     
     return getResponse(httpPut);
   }
@@ -134,7 +135,7 @@ public class RestTestHarness extends Bas
   public String post(String request, String content) throws IOException {
     HttpPost httpPost = new HttpPost(getBaseURL() + request);
     httpPost.setEntity(new StringEntity(content, ContentType.create(
-        "application/json", "utf-8")));
+        "application/json", StandardCharsets.UTF_8)));
     
     return getResponse(httpPost);
   }
@@ -189,7 +190,7 @@ public class RestTestHarness extends Bas
     HttpEntity entity = null;
     try {
       entity = httpClient.execute(request).getEntity();
-      return EntityUtils.toString(entity, "UTF-8");
+      return EntityUtils.toString(entity, StandardCharsets.UTF_8);
     } finally {
       EntityUtils.consumeQuietly(entity);
     }