You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2019/12/03 23:57:43 UTC

[lucene-solr] branch branch_8x updated: SOLR-14000: clean up more static field leaks in tests

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 08720cf  SOLR-14000: clean up more static field leaks in tests
08720cf is described below

commit 08720cf5c0693f17d234feb248b1927ff57add90
Author: Robert Muir <rm...@apache.org>
AuthorDate: Tue Dec 3 18:49:36 2019 -0500

    SOLR-14000: clean up more static field leaks in tests
    
    On windows, these objects can't be inspected due to security restrictions. So the test runner fails the tests since it does not know how big the leak is.
---
 .../apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java  | 2 ++
 .../solr/cloud/OverseerCollectionConfigSetProcessorTest.java       | 1 +
 solr/core/src/test/org/apache/solr/cloud/OverseerTest.java         | 2 ++
 solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java   | 6 ++++++
 .../org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java   | 6 ++++++
 .../solr/cloud/autoscaling/NodeAddedTriggerIntegrationTest.java    | 6 ++++++
 .../solr/cloud/autoscaling/NodeLostTriggerIntegrationTest.java     | 6 ++++++
 .../org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java  | 6 ++++++
 .../solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java    | 1 +
 .../solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java       | 6 ++++++
 solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java    | 1 +
 .../org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java   | 5 +++++
 .../apache/solr/handler/tagger/EmbeddedSolrNoSerializeTest.java    | 6 ++++++
 .../test/org/apache/solr/handler/tagger/XmlInterpolationTest.java  | 6 ++++++
 .../test/org/apache/solr/search/join/TestCloudNestedDocsSort.java  | 6 ++++++
 .../update/processor/CategoryRoutedAliasUpdateProcessorTest.java   | 6 ++++++
 .../processor/DimensionalRoutedAliasUpdateProcessorTest.java       | 1 +
 .../apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java    | 7 +++++++
 .../org/apache/solr/client/solrj/impl/CloudSolrClientTest.java     | 6 ++++++
 19 files changed, 86 insertions(+)

diff --git a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
index 3521156..4a3b7d7 100644
--- a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
+++ b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
@@ -91,6 +91,8 @@ public class SolrStandaloneScraperTest extends RestTestBase {
       jetty.stop();
       jetty = null;
     }
+    solrScraper = null;
+    solrClient = null;
   }
 
   @Test
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
index a165030..6bb7693 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -204,6 +204,7 @@ public class OverseerCollectionConfigSetProcessorTest extends SolrTestCaseJ4 {
     zkControllerMock = null;
     cloudDataProviderMock = null;
     clusterStateProviderMock = null;
+    stateManagerMock = null;;
     cloudManagerMock = null;
     distribStateManagerMock = null;
     coreContainerMock = null;
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index 9cffd81..1603490 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -315,6 +315,8 @@ public class OverseerTest extends SolrTestCaseJ4 {
     if (null != server) {
       server.shutdown();
     }
+
+    server = null;
   }
 
   @After
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java b/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
index 77baa69..dccfd3b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
@@ -48,6 +48,7 @@ import org.apache.solr.common.util.TimeSource;
 import org.apache.solr.util.LogLevel;
 import org.apache.solr.util.TimeOut;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -92,6 +93,11 @@ public class TestWithCollection extends SolrCloudTestCase {
     shutdownCluster();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    cloudManager = null;
+  }
+
   private void deleteChildrenRecursively(String path) throws Exception {
     cloudManager.getDistribStateManager().removeRecursively(path, true, false);
   }
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
index 9b579ac..851308f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
@@ -56,6 +56,7 @@ import org.apache.solr.common.util.Utils;
 import org.apache.solr.core.SolrResourceLoader;
 import org.apache.solr.util.LogLevel;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -168,6 +169,11 @@ public class ComputePlanActionTest extends SolrCloudTestCase {
     state.forEachCollection(coll -> log.debug("* Collection " + coll.getName() + " state: " + coll));
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    cloudManager = null;
+  }
+
   @Test
   @LuceneTestCase.AwaitsFix(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") 
   public void testNodeLost() throws Exception  {
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeAddedTriggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeAddedTriggerIntegrationTest.java
index cd4485e..4d30a92 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeAddedTriggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeAddedTriggerIntegrationTest.java
@@ -41,6 +41,7 @@ import org.apache.solr.util.LogLevel;
 import org.apache.solr.util.TimeOut;
 import org.apache.zookeeper.data.Stat;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -68,6 +69,11 @@ public class NodeAddedTriggerIntegrationTest extends SolrCloudTestCase {
     shutdownCluster();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    cloudManager = null;
+  }
+
   private static CountDownLatch getTriggerFiredLatch() {
     return triggerFiredLatch;
   }
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeLostTriggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeLostTriggerIntegrationTest.java
index f88c448..f1c1cb3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeLostTriggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/NodeLostTriggerIntegrationTest.java
@@ -43,6 +43,7 @@ import org.apache.solr.util.LogLevel;
 import org.apache.solr.util.TimeOut;
 import org.apache.zookeeper.data.Stat;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -116,6 +117,11 @@ public class NodeLostTriggerIntegrationTest extends SolrCloudTestCase {
     shutdownCluster();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    cloudManager = null;
+  }
+
   private void deleteChildrenRecursively(String path) throws Exception {
     cloudManager.getDistribStateManager().removeRecursively(path, true, false);
   }
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
index 756617e..bd2ee92 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TriggerIntegrationTest.java
@@ -50,6 +50,7 @@ import org.apache.solr.common.util.Utils;
 import org.apache.solr.core.SolrResourceLoader;
 import org.apache.solr.util.LogLevel;
 import org.apache.zookeeper.data.Stat;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -90,6 +91,11 @@ public class TriggerIntegrationTest extends SolrCloudTestCase {
     CloudTestUtils.suspendTrigger(cluster.getOpenOverseer().getSolrCloudManager(), ".scheduled_maintenance");
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    cloudManager = null;
+  }
+
   private static CountDownLatch getTriggerFiredLatch() {
     return triggerFiredLatch;
   }
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
index 5f4fa00..04882b6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
@@ -88,6 +88,7 @@ public class TestSimClusterStateProvider extends SolrCloudTestCase {
     if (simulated && cloudManager != null) {
       cloudManager.close();
     }
+    cloudManager = null;
   }
 
   private static void init() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
index 50fa634..a50a377 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
@@ -51,6 +51,7 @@ import org.apache.solr.common.cloud.Replica;
 import org.apache.solr.common.params.CollectionAdminParams;
 import org.apache.solr.common.util.TimeSource;
 import org.apache.solr.common.util.Utils;
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -82,6 +83,11 @@ public class TestSnapshotCloudManager extends SolrCloudTestCase {
         .getZkController().getSolrCloudManager();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    realManager = null;
+  }
+
   @Test
   public void testSnapshots() throws Exception {
     SnapshotCloudManager snapshotCloudManager = new SnapshotCloudManager(realManager, null);
diff --git a/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java b/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
index 3509f39..90ce4f9 100644
--- a/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
+++ b/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
@@ -100,6 +100,7 @@ public class TestJmxIntegration extends SolrTestCaseJ4 {
       MBeanServerFactory.releaseMBeanServer(newMbeanServer);
     }
     mbeanServer = null;
+    newMbeanServer = null;
   }
 
   @Before
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
index 4c058e5..286af4a 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
@@ -108,6 +108,11 @@ public class MetricsHistoryHandlerTest extends SolrCloudTestCase {
     if (simulated) {
       cloudManager.close();
     }
+    handler = null;
+    metricsHandler = null;
+    cloudManager = null;
+    metricManager = null;
+    solrClient = null;
   }
 
   @Test
diff --git a/solr/core/src/test/org/apache/solr/handler/tagger/EmbeddedSolrNoSerializeTest.java b/solr/core/src/test/org/apache/solr/handler/tagger/EmbeddedSolrNoSerializeTest.java
index 37b8207..f82af9a 100644
--- a/solr/core/src/test/org/apache/solr/handler/tagger/EmbeddedSolrNoSerializeTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/tagger/EmbeddedSolrNoSerializeTest.java
@@ -42,6 +42,7 @@ import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SolrParams;
 import org.apache.solr.common.util.ContentStream;
 import org.apache.solr.common.util.ContentStreamBase;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
@@ -62,6 +63,11 @@ public class EmbeddedSolrNoSerializeTest extends SolrTestCaseJ4 {
     //we don't need to close the EmbeddedSolrServer because SolrTestCaseJ4 closes the core
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    solrServer = null;
+  }
+
   @Before
   public void setUp() throws Exception {
     super.setUp();
diff --git a/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java b/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
index d7dd5df..e432121 100644
--- a/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/tagger/XmlInterpolationTest.java
@@ -40,6 +40,7 @@ import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.response.SolrQueryResponse;
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.xml.sax.InputSource;
@@ -59,6 +60,11 @@ public class XmlInterpolationTest extends TaggerTestCase {
     initCore("solrconfig-tagger.xml", "schema-tagger.xml");
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    xmlDocBuilder = null;
+  }
+
   @Override
   public void setUp() throws Exception {
     super.setUp();
diff --git a/solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java b/solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java
index 968523e..04b8ed5 100644
--- a/solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java
+++ b/solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java
@@ -36,6 +36,7 @@ import org.apache.solr.cloud.SolrCloudTestCase;
 import org.apache.solr.common.SolrDocument;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.cloud.ZkStateReader;
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -120,6 +121,11 @@ public class TestCloudNestedDocsSort extends SolrCloudTestCase {
     }
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    client = null;
+  }
+
   @Test 
   public void test() throws SolrServerException, IOException {
     final boolean asc = random().nextBoolean();
diff --git a/solr/core/src/test/org/apache/solr/update/processor/CategoryRoutedAliasUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/CategoryRoutedAliasUpdateProcessorTest.java
index 15ab341..f6bb167 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/CategoryRoutedAliasUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/CategoryRoutedAliasUpdateProcessorTest.java
@@ -40,6 +40,7 @@ import org.apache.solr.response.SolrQueryResponse;
 import org.apache.solr.update.UpdateCommand;
 import org.apache.solr.util.LogLevel;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -81,6 +82,11 @@ public class CategoryRoutedAliasUpdateProcessorTest extends RoutedAliasUpdatePro
     }
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    solrClient = null;
+  }
+
   public void testNonEnglish() throws Exception {
     // test to document the expected behavior with non-english text for categories
     // the present expectation is that non-latin text and many accented latin characters
diff --git a/solr/core/src/test/org/apache/solr/update/processor/DimensionalRoutedAliasUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/DimensionalRoutedAliasUpdateProcessorTest.java
index 3d583ac..f48f1f5 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/DimensionalRoutedAliasUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/DimensionalRoutedAliasUpdateProcessorTest.java
@@ -85,6 +85,7 @@ public class DimensionalRoutedAliasUpdateProcessorTest extends RoutedAliasUpdate
   @AfterClass
   public static void finish() throws Exception {
     IOUtils.close(solrClient);
+    solrClient = null;
   }
   @Test
   public void testTimeCat() throws Exception {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
index 27fd172..793ee5f 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
@@ -71,6 +71,7 @@ import org.apache.solr.handler.admin.CollectionsHandler;
 import org.apache.solr.handler.admin.ConfigSetsHandler;
 import org.apache.solr.handler.admin.CoreAdminHandler;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -134,6 +135,12 @@ public class CloudHttp2SolrClientTest extends SolrCloudTestCase {
     super.tearDown();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    httpBasedCloudSolrClient = null;
+    zkBasedCloudSolrClient = null;
+  }
+
   /**
    * Randomly return the cluster's ZK based CSC, or HttpClusterProvider based CSC.
    */
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
index a505799..0025ace 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
@@ -72,6 +72,7 @@ import org.apache.solr.handler.admin.CollectionsHandler;
 import org.apache.solr.handler.admin.ConfigSetsHandler;
 import org.apache.solr.handler.admin.CoreAdminHandler;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -124,6 +125,11 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
     super.tearDown();
   }
 
+  @AfterClass
+  public static void cleanUpAfterClass() throws Exception {
+    httpBasedCloudSolrClient = null;
+  }
+
   /**
    * Randomly return the cluster's ZK based CSC, or HttpClusterProvider based CSC.
    */