You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2014/03/19 19:25:01 UTC

svn commit: r1579336 - in /lucene/dev/trunk/solr: ./ contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/ contrib/map-reduce/src/test/org/apache/solr/hadoop/ contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/ core/src/t...

Author: markrmiller
Date: Wed Mar 19 18:25:00 2014
New Revision: 1579336

URL: http://svn.apache.org/r1579336
Log:
SOLR-5883: Many tests do not shutdown SolrServer. 

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
    lucene/dev/trunk/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
    lucene/dev/trunk/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreEmbeddedTest.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java
    lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
    lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Mar 19 18:25:00 2014
@@ -243,6 +243,9 @@ Other Changes
 
 * SOLR-5881: Upgrade ZooKeeper to 3.4.6 (Shawn Heisey)
 
+* SOLR-5883: Many tests do not shutdown SolrServer. 
+  (Tomás Fernández Löbbe via Mark Miller)
+
 ==================  4.7.1  ==================
 
 Versions of Major Components

Modified: lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java (original)
+++ lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java Wed Mar 19 18:25:00 2014
@@ -79,6 +79,7 @@ public class TestContentStreamDataSource
     SolrDocument doc = results.get(0);
     assertEquals("1", doc.getFieldValue("id"));
     assertEquals("Hello C1", ((List)doc.getFieldValue("desc")).get(0));
+    solrServer.shutdown();
   }
 
   @Test
@@ -100,6 +101,7 @@ public class TestContentStreamDataSource
       qres = solrServer.query(queryAll);
       results = qres.getResults();
       if (2 == results.getNumFound()) {
+        solrServer.shutdown();
         return;
       }
       Thread.sleep(500);

Modified: lucene/dev/trunk/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java (original)
+++ lucene/dev/trunk/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java Wed Mar 19 18:25:00 2014
@@ -658,6 +658,7 @@ public class MorphlineGoLiveMiniMRTest e
               + new ZkCoreNodeProps(replica).getCoreUrl(), found, count);
         }
         found = count;
+        client.shutdown();
       }
     }
   }

Modified: lucene/dev/trunk/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java (original)
+++ lucene/dev/trunk/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java Wed Mar 19 18:25:00 2014
@@ -125,6 +125,7 @@ public class AbstractSolrMorphlineTestBa
   @After
   public void tearDown() throws Exception {
     collector = null;
+    solrServer.shutdown();
     solrServer = null;
     super.tearDown();
   }

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java Wed Mar 19 18:25:00 2014
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.client.solrj.SolrQuery;
+import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.CloudSolrServer;
@@ -30,13 +31,11 @@ import org.apache.solr.client.solrj.impl
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.request.QueryRequest;
 import org.apache.solr.client.solrj.request.UpdateRequest;
-import org.apache.solr.client.solrj.response.CollectionAdminResponse;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.params.CollectionParams.CollectionAction;
 import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.NamedList;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -141,6 +140,8 @@ public class AliasIntegrationTest extend
     HttpSolrServer server = new HttpSolrServer(buildUrl(port) + "/testalias");
     res = server.query(query);
     assertEquals(3, res.getResults().getNumFound());
+    server.shutdown();
+    server = null;
     
     // now without collections param
     query = new SolrQuery("*:*");
@@ -149,6 +150,8 @@ public class AliasIntegrationTest extend
     server = new HttpSolrServer(buildUrl(port) + "/testalias");
     res = server.query(query);
     assertEquals(3, res.getResults().getNumFound());
+    server.shutdown();
+    server = null;
     
     // create alias, collection2 first because it's not on every node
     createAlias("testalias", "collection2,collection1");
@@ -177,6 +180,7 @@ public class AliasIntegrationTest extend
     res = server.query(query);
     assertEquals(5, res.getResults().getNumFound());
     
+    
     // now without collections param
     query = new SolrQuery("*:*");
     jetty = jettys.get(random().nextInt(jettys.size()));
@@ -184,6 +188,8 @@ public class AliasIntegrationTest extend
     server = new HttpSolrServer(buildUrl(port) + "/testalias");
     res = server.query(query);
     assertEquals(5, res.getResults().getNumFound());
+    server.shutdown();
+    server = null;
     
     // update alias
     createAlias("testalias", "collection2");
@@ -210,6 +216,8 @@ public class AliasIntegrationTest extend
     HttpSolrServer client = new HttpSolrServer(getBaseUrl((HttpSolrServer) clients.get(0)) + "/testalias");
     res = client.query(query);
     assertEquals(5, res.getResults().getNumFound());
+    client.shutdown();
+    client = null;
     
     createAlias("testalias", "collection2");
     
@@ -223,6 +231,8 @@ public class AliasIntegrationTest extend
     client.commit();
     res = client.query(query);
     assertEquals(3, res.getResults().getNumFound());
+    client.shutdown();
+    client = null;
     
     createAlias("testalias", "collection2,collection1");
     
@@ -245,6 +255,8 @@ public class AliasIntegrationTest extend
 
   private void createAlias(String alias, String collections)
       throws SolrServerException, IOException {
+    SolrServer server = createNewSolrServer("",
+        getBaseUrl((HttpSolrServer) clients.get(0)));
     if (random().nextBoolean()) {
       ModifiableSolrParams params = new ModifiableSolrParams();
       params.set("collections", collections);
@@ -252,29 +264,28 @@ public class AliasIntegrationTest extend
       params.set("action", CollectionAction.CREATEALIAS.toString());
       QueryRequest request = new QueryRequest(params);
       request.setPath("/admin/collections");
-      NamedList<Object> result = createNewSolrServer("",
-          getBaseUrl((HttpSolrServer) clients.get(0))).request(request);
+      server.request(request);
     } else {
-      CollectionAdminResponse resp = CollectionAdminRequest.CreateAlias
-          .createAlias(alias, collections, createNewSolrServer("",
-              getBaseUrl((HttpSolrServer) clients.get(0))));
+      CollectionAdminRequest.CreateAlias.createAlias(alias, collections, server);
     }
+    server.shutdown();
   }
   
   private void deleteAlias(String alias) throws SolrServerException,
       IOException {
+    SolrServer server = createNewSolrServer("",
+        getBaseUrl((HttpSolrServer) clients.get(0)));
     if (random().nextBoolean()) {
       ModifiableSolrParams params = new ModifiableSolrParams();
       params.set("name", alias);
       params.set("action", CollectionAction.DELETEALIAS.toString());
       QueryRequest request = new QueryRequest(params);
       request.setPath("/admin/collections");
-      NamedList<Object> result = createNewSolrServer("",
-          getBaseUrl((HttpSolrServer) clients.get(0))).request(request);
+      server.request(request);
     } else {
-      CollectionAdminResponse resp = CollectionAdminRequest.deleteAlias(alias,
-          createNewSolrServer("", getBaseUrl((HttpSolrServer) clients.get(0))));
+      CollectionAdminRequest.deleteAlias(alias,server);
     }
+    server.shutdown();
   }
   
   protected void indexDoc(List<CloudJettyRunner> skipServers, Object... fields) throws IOException,

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java Wed Mar 19 18:25:00 2014
@@ -732,6 +732,7 @@ public class CollectionsAPIDistributedZk
       
       // poll for a second - it can take a moment before we are ready to serve
       waitForNon403or404or503(collectionClient);
+      collectionClient.shutdown();
     }
     
     // sometimes we restart one of the jetty nodes
@@ -751,6 +752,7 @@ public class CollectionsAPIDistributedZk
         
         // poll for a second - it can take a moment before we are ready to serve
         waitForNon403or404or503(collectionClient);
+        collectionClient.shutdown();
       }
     }
 
@@ -813,6 +815,8 @@ public class CollectionsAPIDistributedZk
     collectionClient.commit();
     
     assertEquals(3, collectionClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+    collectionClient.shutdown();
+    collectionClient = null;
     
     // lets try a collection reload
     
@@ -894,6 +898,8 @@ public class CollectionsAPIDistributedZk
     
     // poll for a second - it can take a moment before we are ready to serve
     waitForNon403or404or503(collectionClient);
+    collectionClient.shutdown();
+    collectionClient = null;
     
     for (int j = 0; j < cnt; j++) {
       waitForRecoveriesToFinish(collectionName, zkStateReader, false);

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java Wed Mar 19 18:25:00 2014
@@ -199,6 +199,7 @@ public class CustomCollectionTest extend
 
       // poll for a second - it can take a moment before we are ready to serve
       waitForNon403or404or503(collectionClient);
+      collectionClient.shutdown();
     }
     ZkStateReader zkStateReader = getCommonCloudSolrServer().getZkStateReader();
     for (int j = 0; j < cnt; j++) {
@@ -320,7 +321,8 @@ public class CustomCollectionTest extend
 
 
     url = getUrlFromZk(getCommonCloudSolrServer().getZkStateReader().getClusterState(), collectionName);
-
+    
+    collectionClient.shutdown();
     collectionClient = new HttpSolrServer(url);
 
     // poll for a second - it can take a moment before we are ready to serve
@@ -328,7 +330,7 @@ public class CustomCollectionTest extend
 
 
 
-
+    collectionClient.shutdown();
     collectionClient = new HttpSolrServer(url);
 
 
@@ -349,8 +351,7 @@ public class CustomCollectionTest extend
     assertEquals(0, collectionClient.query(new SolrQuery("*:*").setParam(_ROUTE_,"b")).getResults().getNumFound());
     //TODO debug the following case
     assertEquals(3, collectionClient.query(new SolrQuery("*:*").setParam(_ROUTE_, "a")).getResults().getNumFound());
-
-
+    collectionClient.shutdown();
   }
 
   private void testRouteFieldForHashRouter()throws Exception{
@@ -386,6 +387,7 @@ public class CustomCollectionTest extend
 
     // poll for a second - it can take a moment before we are ready to serve
     waitForNon403or404or503(collectionClient);
+    collectionClient.shutdown();
 
 
     collectionClient = new HttpSolrServer(url);
@@ -414,7 +416,7 @@ public class CustomCollectionTest extend
     collectionClient.add (getDoc( id,100,shard_fld, "b!doc1"));
     collectionClient.commit();
     assertEquals(1, collectionClient.query(new SolrQuery("*:*").setParam(_ROUTE_, "b!")).getResults().getNumFound());
-
+    collectionClient.shutdown();
   }
 
   private void testCreateShardRepFactor() throws Exception  {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java Wed Mar 19 18:25:00 2014
@@ -23,6 +23,7 @@ import static org.apache.solr.common.clo
 import java.net.URL;
 import java.util.Map;
 
+import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.CloudSolrServer;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
@@ -36,7 +37,6 @@ import org.apache.solr.common.params.Map
 import org.apache.solr.common.util.NamedList;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 
 //@Ignore("Not currently valid see SOLR-5580")
 public class DeleteInactiveReplicaTest extends DeleteReplicaTest{
@@ -131,10 +131,12 @@ public class DeleteInactiveReplicaTest e
 
     Map m = makeMap("qt", "/admin/cores", "action", "status");
 
-    NamedList<Object> resp = new HttpSolrServer(replica1.getStr(ZkStateReader.BASE_URL_PROP))
-        .request(new QueryRequest(new MapSolrParams(m)));
+    SolrServer server = new HttpSolrServer(replica1.getStr(ZkStateReader.BASE_URL_PROP));
+    NamedList<Object> resp = server.request(new QueryRequest(new MapSolrParams(m)));
     assertNull("The core is up and running again",
         ((NamedList) resp.get("status")).get(replica1.getStr("core")));
+    server.shutdown();
+    server = null;
 
 
     Exception exp = null;

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java Wed Mar 19 18:25:00 2014
@@ -140,6 +140,7 @@ public class DeleteShardTest extends Abs
     baseServer.setConnectionTimeout(15000);
     baseServer.setSoTimeout(60000);
     baseServer.request(request);
+    baseServer.shutdown();
   }
 
   protected void setSliceAsInactive(String slice) throws SolrServerException, IOException,

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java Wed Mar 19 18:25:00 2014
@@ -214,6 +214,8 @@ public class MigrateRouteKeyTest extends
     QueryResponse response = collectionClient.query(solrQuery);
     log.info("Response from target collection: " + response);
     assertEquals("DocCount on target collection does not match", splitKeyCount[0], response.getResults().getNumFound());
+    collectionClient.shutdown();
+    collectionClient = null;
 
     getCommonCloudSolrServer().getZkStateReader().updateClusterState(true);
     ClusterState state = getCommonCloudSolrServer().getZkStateReader().getClusterState();

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java Wed Mar 19 18:25:00 2014
@@ -314,6 +314,7 @@ public class ShardSplitTest extends Basi
 
     assertEquals(docCounts[0], collectionClient.query(new SolrQuery("*:*").setParam("shards", "shard1_0")).getResults().getNumFound());
     assertEquals(docCounts[1], collectionClient.query(new SolrQuery("*:*").setParam("shards", "shard1_1")).getResults().getNumFound());
+    collectionClient.shutdown();
   }
 
   private void splitByRouteKeyTest() throws Exception {
@@ -404,6 +405,7 @@ public class ShardSplitTest extends Basi
     assertEquals("shard1_0 must have 0 docs for route key: " + splitKey, 0, collectionClient.query(solrQuery.setParam("shards", "shard1_0")).getResults().getNumFound());
     assertEquals("Wrong number of docs on shard1_1 for route key: " + splitKey, splitKeyDocCount, collectionClient.query(solrQuery.setParam("shards", "shard1_1")).getResults().getNumFound());
     assertEquals("shard1_2 must have 0 docs for route key: " + splitKey, 0, collectionClient.query(solrQuery.setParam("shards", "shard1_2")).getResults().getNumFound());
+    collectionClient.shutdown();
   }
 
   protected void checkDocCountsAndShardStates(int[] docCounts, int numReplicas) throws Exception {
@@ -523,6 +525,7 @@ public class ShardSplitTest extends Basi
     baseServer.setConnectionTimeout(15000);
     baseServer.setSoTimeout(60000 * 5);
     baseServer.request(request);
+    baseServer.shutdown();
   }
 
   protected void indexAndUpdateCount(DocRouter router, List<DocRouter.Range> ranges, int[] docCounts, String id, int n) throws Exception {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java Wed Mar 19 18:25:00 2014
@@ -137,6 +137,8 @@ public class SyncSliceTest extends Abstr
     // we only set the connect timeout, not so timeout
     baseServer.setConnectionTimeout(30000);
     baseServer.request(request);
+    baseServer.shutdown();
+    baseServer = null;
     
     waitForThingsToLevelOut(15);
     

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java Wed Mar 19 18:25:00 2014
@@ -136,6 +136,8 @@ public class UnloadDistributedZkTest ext
     unloadCmd = new Unload(false);
     unloadCmd.setCoreName("test_unload_shard_and_collection_1");
     server.request(unloadCmd);
+    server.shutdown();
+    server = null;
     
     //printLayout();
     // the collection should be gone
@@ -169,6 +171,8 @@ public class UnloadDistributedZkTest ext
     String core1DataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection1" + "_1n";
     createCmd.setDataDir(getDataDir(core1DataDir));
     server.request(createCmd);
+    server.shutdown();
+    server = null;
     
     ZkStateReader zkStateReader = getCommonCloudSolrServer().getZkStateReader();
     
@@ -187,6 +191,8 @@ public class UnloadDistributedZkTest ext
     String core2dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection1" + "_2n";
     createCmd.setDataDir(getDataDir(core2dataDir));
     server.request(createCmd);
+    server.shutdown();
+    server = null;
     
     zkStateReader.updateClusterState(true);
     slices = zkStateReader.getClusterState().getCollection("unloadcollection").getSlices().size();
@@ -212,6 +218,8 @@ public class UnloadDistributedZkTest ext
       collectionClient.add(doc2);
       collectionClient.add(doc3);
       collectionClient.commit();
+      collectionClient.shutdown();
+      collectionClient = null;
     }
 
     // create another replica for our collection
@@ -225,6 +233,9 @@ public class UnloadDistributedZkTest ext
     String core3dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection" + "_3n";
     createCmd.setDataDir(getDataDir(core3dataDir));
     server.request(createCmd);
+    server.shutdown();
+    server = null;
+    
     
     waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
     
@@ -240,6 +251,8 @@ public class UnloadDistributedZkTest ext
           "humpty dumpy sat on a wall");
       addClient.add(doc1);
     }
+    addClient.shutdown();
+    addClient = null;
 
     // don't commit so they remain in the tran log
     //collectionClient.commit();
@@ -254,6 +267,8 @@ public class UnloadDistributedZkTest ext
     ModifiableSolrParams p = (ModifiableSolrParams) unloadCmd.getParams();
 
     collectionClient.request(unloadCmd);
+    collectionClient.shutdown();
+    collectionClient = null;
 
 //    Thread.currentThread().sleep(500);
 //    printLayout();
@@ -279,6 +294,8 @@ public class UnloadDistributedZkTest ext
           "humpty dumpy sat on a wall");
       addClient.add(doc1);
     }
+    addClient.shutdown();
+    addClient = null;
     
     
     // create another replica for our collection
@@ -294,6 +311,8 @@ public class UnloadDistributedZkTest ext
     String core4dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection" + "_4n";
     createCmd.setDataDir(getDataDir(core4dataDir));
     server.request(createCmd);
+    server.shutdown();
+    server = null;
     
     waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
     
@@ -307,6 +326,8 @@ public class UnloadDistributedZkTest ext
     unloadCmd.setCoreName(leaderProps.getCoreName());
     p = (ModifiableSolrParams) unloadCmd.getParams();
     collectionClient.request(unloadCmd);
+    collectionClient.shutdown();
+    collectionClient = null;
     
     tries = 50;
     while (leaderProps.getCoreUrl().equals(zkStateReader.getLeaderUrl("unloadcollection", "shard1", 15000))) {
@@ -332,6 +353,8 @@ public class UnloadDistributedZkTest ext
     createCmd.setCollection("unloadcollection");
     createCmd.setDataDir(getDataDir(core1DataDir));
     server.request(createCmd);
+    server.shutdown();
+    server = null;
 
     waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
     
@@ -342,6 +365,7 @@ public class UnloadDistributedZkTest ext
     SolrQuery q = new SolrQuery("*:*");
     q.set("distrib", false);
     long found1 = server.query(q).getResults().getNumFound();
+    server.shutdown();
     server = new HttpSolrServer(url3 + "/unloadcollection");
     server.setConnectionTimeout(15000);
     server.setSoTimeout(30000);
@@ -349,6 +373,7 @@ public class UnloadDistributedZkTest ext
     q = new SolrQuery("*:*");
     q.set("distrib", false);
     long found3 = server.query(q).getResults().getNumFound();
+    server.shutdown();
     server = new HttpSolrServer(url4 + "/unloadcollection");
     server.setConnectionTimeout(15000);
     server.setSoTimeout(30000);
@@ -360,6 +385,7 @@ public class UnloadDistributedZkTest ext
     // all 3 shards should now have the same number of docs
     assertEquals(found1, found3);
     assertEquals(found3, found4);
+    server.shutdown();
     
   }
   
@@ -402,6 +428,7 @@ public class UnloadDistributedZkTest ext
     }
     executor.shutdown();
     executor.awaitTermination(120, TimeUnit.SECONDS);
+    server.shutdown();
   }
 
 

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java Wed Mar 19 18:25:00 2014
@@ -32,6 +32,7 @@ import java.util.concurrent.atomic.Atomi
 import org.apache.commons.io.FileUtils;
 import org.apache.lucene.util.LuceneTestCase.BadApple;
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
 import org.apache.solr.client.solrj.request.UpdateRequest;
@@ -95,6 +96,14 @@ public class OpenCloseCoreStressTest ext
   public void tearDownServer() throws Exception {
     if (jetty != null) jetty.stop();
     FileUtils.deleteDirectory(solrHomeDirectory);
+    for(SolrServer server:indexingServers) {
+      server.shutdown();
+    }
+    for(SolrServer server:queryServers) {
+      server.shutdown();
+    }
+    indexingServers.clear();
+    queryServers.clear();
   }
 
   @Test

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java Wed Mar 19 18:25:00 2014
@@ -28,11 +28,11 @@ import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Set;
-import java.util.Date;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Date;
+import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -52,16 +52,16 @@ import org.apache.solr.client.solrj.Solr
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
-import org.apache.solr.client.solrj.request.UpdateRequest;
 import org.apache.solr.client.solrj.request.QueryRequest;
+import org.apache.solr.client.solrj.request.UpdateRequest;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.client.solrj.response.UpdateResponse;
-import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
+import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SimpleOrderedMap;
 import org.apache.solr.core.CachingDirectoryFactory;
@@ -74,7 +74,6 @@ import org.apache.solr.util.FileUtils;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -143,6 +142,8 @@ public class TestReplicationHandler exte
     slave.tearDown();
     masterJetty = slaveJetty = null;
     master = slave = null;
+    masterClient.shutdown();
+    slaveClient.shutdown();
     masterClient = slaveClient = null;
   }
 
@@ -344,6 +345,7 @@ public class TestReplicationHandler exte
       try { 
         if (repeater != null) repeater.tearDown();
       } catch (Exception e) { /* :NOOP: */ }
+      if (repeaterClient != null) repeaterClient.shutdown();
     }
   }
 
@@ -536,6 +538,7 @@ public class TestReplicationHandler exte
     masterJetty.stop();
 
     masterJetty = createJetty(master);
+    masterClient.shutdown();
     masterClient = createNewSolrServer(masterJetty.getLocalPort());
 
     slave.setTestPort(masterJetty.getLocalPort());
@@ -554,6 +557,7 @@ public class TestReplicationHandler exte
     assertFalse(slaveXsltDir.exists());
 
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
     //add a doc with new field and commit on master to trigger snappull from slave.
@@ -631,6 +635,7 @@ public class TestReplicationHandler exte
     slave.copyConfigFile(CONF_DIR + "solrconfig-slave1.xml", "solrconfig.xml");
     slaveJetty.stop();
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
     masterClient.deleteByQuery("*:*");
@@ -778,12 +783,14 @@ public class TestReplicationHandler exte
       slave.copyConfigFile(CONF_DIR +slaveSchema, "schema.xml");
       slaveJetty.stop();
       slaveJetty = createJetty(slave);
+      slaveClient.shutdown();
       slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
       master.copyConfigFile(CONF_DIR + "solrconfig-master3.xml",
           "solrconfig.xml");
       masterJetty.stop();
       masterJetty = createJetty(master);
+      masterClient.shutdown();
       masterClient = createNewSolrServer(masterJetty.getLocalPort());
       
       masterClient.deleteByQuery("*:*");
@@ -898,6 +905,7 @@ public class TestReplicationHandler exte
     slave.copyConfigFile(CONF_DIR + "solrconfig-slave1.xml", "solrconfig.xml");
     slaveJetty.stop();
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
     try {
@@ -906,6 +914,9 @@ public class TestReplicationHandler exte
       repeater.copyConfigFile(CONF_DIR + "solrconfig-repeater.xml",
           "solrconfig.xml");
       repeaterJetty = createJetty(repeater);
+      if (repeaterClient != null) {
+        repeaterClient.shutdown();
+      }
       repeaterClient = createNewSolrServer(repeaterJetty.getLocalPort());
       
       for (int i = 0; i < 3; i++)
@@ -1039,6 +1050,7 @@ public class TestReplicationHandler exte
     masterJetty.stop();
 
     masterJetty = createJetty(master);
+    masterClient.shutdown();
     masterClient = createNewSolrServer(masterJetty.getLocalPort());
     
     for (int i = 0; i < nDocs; i++)
@@ -1056,6 +1068,7 @@ public class TestReplicationHandler exte
 
     //start slave
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
     //get docs from slave and check if number is equal to master
@@ -1089,6 +1102,7 @@ public class TestReplicationHandler exte
       masterJetty.stop();
       
       masterJetty = createJetty(master);
+      masterClient.shutdown();
       masterClient = createNewSolrServer(masterJetty.getLocalPort());
       
       for (int i = 0; i < nDocs; i++)
@@ -1114,6 +1128,7 @@ public class TestReplicationHandler exte
       
       // start slave
       slaveJetty = createJetty(slave);
+      slaveClient.shutdown();
       slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
       
       // get docs from slave and check if number is equal to master
@@ -1147,6 +1162,7 @@ public class TestReplicationHandler exte
     masterJetty.stop();
 
     masterJetty = createJetty(master);
+    masterClient.shutdown();
     masterClient = createNewSolrServer(masterJetty.getLocalPort());
 
     masterClient.deleteByQuery("*:*");
@@ -1164,6 +1180,7 @@ public class TestReplicationHandler exte
 
     //start slave
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
     
     //get docs from slave and check if number is equal to master
@@ -1244,6 +1261,7 @@ public class TestReplicationHandler exte
     masterJetty.stop();
 
     masterJetty = createJetty(master);
+    masterClient.shutdown();
     masterClient = createNewSolrServer(masterJetty.getLocalPort());
 
     slave.setTestPort(masterJetty.getLocalPort());
@@ -1251,6 +1269,7 @@ public class TestReplicationHandler exte
 
     slaveJetty.stop();
     slaveJetty = createJetty(slave);
+    slaveClient.shutdown();
     slaveClient = createNewSolrServer(slaveJetty.getLocalPort());
 
     slaveClient.deleteByQuery("*:*");
@@ -1304,6 +1323,7 @@ public class TestReplicationHandler exte
                           "solrconfig.xml");
 
     masterJetty = createJetty(master);
+    masterClient.shutdown();
     masterClient = createNewSolrServer(masterJetty.getLocalPort());
 
     nDocs--;

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java Wed Mar 19 18:25:00 2014
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.solr.SolrJettyTestBase;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
 import org.apache.solr.client.solrj.response.QueryResponse;
 import org.apache.solr.client.solrj.response.UpdateResponse;
 import org.apache.solr.common.SolrInputDocument;
@@ -116,6 +117,9 @@ public abstract class LargeVolumeTestBas
           // a commit/optimize can fail with a too many warming searchers exception
           log.info("Caught benign exception during commit: " + e.getMessage());
         }
+        if (!(tserver instanceof EmbeddedSolrServer)) {
+          tserver.shutdown();
+        }
 
       } catch (Exception e) {
         e.printStackTrace();

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java Wed Mar 19 18:25:00 2014
@@ -17,6 +17,10 @@
 
 package org.apache.solr.client.solrj;
 
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
 import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
 import org.apache.solr.client.solrj.request.CoreAdminRequest;
 import org.apache.solr.client.solrj.request.CoreAdminRequest.Unload;
@@ -26,12 +30,9 @@ import org.apache.solr.client.solrj.resp
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.SolrCore;
 import org.apache.solr.util.ExternalPaths;
 import org.junit.Test;
 
-import java.io.File;
-
 
 /**
  *
@@ -43,6 +44,12 @@ public abstract class MultiCoreExampleTe
 
   private File dataDir2;
   private File dataDir1;
+  
+  private SolrServer solrCore0;
+  private SolrServer solrCore1;
+  private SolrServer solrAdmin;
+  
+  private final Set<SolrServer> clients = new HashSet<>();
 
   @Override public String getSolrHome() { return ExternalPaths.EXAMPLE_MULTICORE_HOME; }
 
@@ -74,6 +81,14 @@ public abstract class MultiCoreExampleTe
         System.err.println("!!!! WARNING: best effort to remove " + dataDir2.getAbsolutePath() + " FAILED !!!!!");
       }
     }
+    if(solrCore0 != null) solrCore0.shutdown();
+    if(solrCore1 != null) solrCore1.shutdown();
+    if(solrAdmin != null) solrAdmin.shutdown();
+    solrCore0 = solrCore1 = solrAdmin = null;
+    for (SolrServer client:clients) {
+      client.shutdown();
+    }
+    clients.clear();
   }
 
   @Override
@@ -87,11 +102,40 @@ public abstract class MultiCoreExampleTe
   {
     throw new UnsupportedOperationException();
   }
+  
+  protected SolrServer getSolrCore0()
+  {
+    if (solrCore0 == null) {
+      solrCore0 = createServer( "core0" );
+    }
+    return solrCore0;
+  }
 
-  protected abstract SolrServer getSolrCore0();
-  protected abstract SolrServer getSolrCore1();
-  protected abstract SolrServer getSolrAdmin();
-  protected abstract SolrServer getSolrCore(String name);
+  protected SolrServer getSolrCore1()
+  {
+    if (solrCore1 == null) {
+      solrCore1 = createServer( "core1" );
+    }
+    return solrCore1;
+  }
+
+  protected SolrServer getSolrAdmin()
+  {
+    if (solrAdmin == null) {
+      solrAdmin = createServer( "" );
+    }
+    return solrAdmin;
+  } 
+  
+  protected SolrServer getSolrCore(String name)
+  {
+    SolrServer server = createServer(name);
+    clients.add(server);
+    return server;
+  }
+
+
+  protected abstract SolrServer createServer(String string);
 
   @Test
   public void testMultiCore() throws Exception
@@ -197,25 +241,22 @@ public abstract class MultiCoreExampleTe
     CoreAdminRequest.renameCore("coreb","corec",coreadmin);
     CoreAdminRequest.renameCore("corec","cored",coreadmin);
     CoreAdminRequest.renameCore("cored","corefoo",coreadmin);
-    try {
+    try { 
       getSolrCore("core1").query( new SolrQuery( "id:BBB" ) );
       fail( "core1 should be gone" );
     }
     catch( Exception ex ) {}
+    
     assertEquals( 1, getSolrCore("corefoo").query( new SolrQuery( "id:BBB" ) ).getResults().size() );
 
     NamedList<Object> response = getSolrCore("corefoo").query(new SolrQuery().setRequestHandler("/admin/system")).getResponse();
     NamedList<Object> coreInfo = (NamedList<Object>) response.get("core");
     String indexDir = (String) ((NamedList<Object>) coreInfo.get("directory")).get("index");
     
-    
     response = getSolrCore("core0").query(new SolrQuery().setRequestHandler("/admin/system")).getResponse();
     coreInfo = (NamedList<Object>) response.get("core");
     String dataDir = (String) ((NamedList<Object>) coreInfo.get("directory")).get("data");
     
-
-    System.out.println( (String) ((NamedList<Object>) coreInfo.get("directory")).get("dirimpl"));
-
     // test delete index on core
     CoreAdminRequest.unloadCore("corefoo", true, coreadmin);
     File dir = new File(indexDir);

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java Wed Mar 19 18:25:00 2014
@@ -32,6 +32,7 @@ import com.google.common.collect.Maps;
 import junit.framework.Assert;
 
 import org.apache.lucene.util.TestUtil;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
 import org.apache.solr.client.solrj.impl.BinaryResponseParser;
 import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrServer;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
@@ -56,6 +57,7 @@ import org.apache.solr.common.util.Named
 import org.apache.solr.common.params.AnalysisParams;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.FacetParams;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -215,6 +217,7 @@ abstract public class SolrExampleTests e
       QueryResponse rsp = client.query(q);
       assertNotNull(rsp.getResponse().get("mode"));
       assertNotNull(rsp.getResponse().get("lucene"));
+      client.shutdown();
     }
   }
 
@@ -539,6 +542,11 @@ abstract public class SolrExampleTests e
     
     SolrDocumentList out = rsp.getResults();
     assertEquals(2, out.getNumFound());
+    if (!(server1 instanceof EmbeddedSolrServer)) {
+      /* Do not shutdown in case of using EmbeddedSolrServer, 
+       * as that would shutdown the CoreContainer */
+      server1.shutdown();
+    }
   }
   
  @Test

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreEmbeddedTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreEmbeddedTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreEmbeddedTest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreEmbeddedTest.java Wed Mar 19 18:25:00 2014
@@ -51,26 +51,12 @@ public class MultiCoreEmbeddedTest exten
   }
 
   @Override
-  protected SolrServer getSolrCore0()
-  {
-    return new EmbeddedSolrServer( cores, "core0" );
-  }
-
-  @Override
-  protected SolrServer getSolrCore1()
-  {
-    return new EmbeddedSolrServer( cores, "core1" );
-  }
-
-  @Override
-  protected SolrServer getSolrCore(String name)
-  {
-    return new EmbeddedSolrServer( cores, name );
-  }
-
-  @Override
+  protected SolrServer createServer(String string) {
+    return new EmbeddedSolrServer( cores, string );
+  } 
+  
   protected SolrServer getSolrAdmin()
   {
-    return new EmbeddedSolrServer( cores, "core0" );
+    return getSolrCore0();
   } 
 }

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/MultiCoreExampleJettyTest.java Wed Mar 19 18:25:00 2014
@@ -22,9 +22,9 @@ import org.apache.solr.client.solrj.Mult
 import org.apache.solr.client.solrj.SolrQuery;
 import org.apache.solr.client.solrj.SolrServer;
 import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
 import org.apache.solr.client.solrj.request.QueryRequest;
 import org.apache.solr.client.solrj.request.UpdateRequest;
-import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrDocumentList;
 import org.apache.solr.common.SolrInputDocument;
@@ -42,7 +42,6 @@ import org.junit.Test;
 public class MultiCoreExampleJettyTest extends MultiCoreExampleTestBase {
 
   JettySolrRunner jetty;
-
   int port = 0;
   static final String context = "/example";
   
@@ -64,32 +63,7 @@ public class MultiCoreExampleJettyTest e
     jetty.stop();  // stop the server
   }
   
-
-  @Override
-  protected SolrServer getSolrCore(String name)
-  {
-    return createServer(name);
-  }
-
-  @Override
-  protected SolrServer getSolrCore0()
-  {
-    return createServer( "core0" );
-  }
-
-  @Override
-  protected SolrServer getSolrCore1()
-  {
-    return createServer( "core1" );
-  }
-
-  @Override
-  protected SolrServer getSolrAdmin()
-  {
-    return createServer( "" );
-  } 
-  
-  private SolrServer createServer( String name )
+  protected SolrServer createServer( String name )
   {
     try {
       // setup the server...

Modified: lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java Wed Mar 19 18:25:00 2014
@@ -82,6 +82,7 @@ public class NoOpResponseParserTest exte
     String responseString = (String) resp.get("response");
 
     assertResponse(responseString);
+    server.shutdown();
   }
 
   private void assertResponse(String responseString) throws IOException {

Modified: lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java (original)
+++ lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java Wed Mar 19 18:25:00 2014
@@ -79,6 +79,7 @@ abstract public class SolrJettyTestBase 
       jetty.stop();
       jetty = null;
     }
+    if (server != null) server.shutdown();
     server = null;
   }
 

Modified: lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java?rev=1579336&r1=1579335&r2=1579336&view=diff
==============================================================================
--- lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java (original)
+++ lucene/dev/trunk/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java Wed Mar 19 18:25:00 2014
@@ -1619,8 +1619,9 @@ public abstract class AbstractFullDistri
     CollectionAdminResponse res = new CollectionAdminResponse();
     if (client == null) {
       final String baseUrl = getBaseUrl((HttpSolrServer) clients.get(clientIndex));
-
-      res.setResponse(createNewSolrServer("", baseUrl).request(request));
+      SolrServer server = createNewSolrServer("", baseUrl);
+      res.setResponse(server.request(request));
+      server.shutdown();
     } else {
       res.setResponse(client.request(request));
     }