You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2019/06/27 17:28:17 UTC
[lucene-solr] branch master updated: SOLR-13574: Fix many test and
test-framework classes to not fail on After/AfterClass cleanup if
assumptions fail in Before/BeforeClass setup
This is an automated email from the ASF dual-hosted git repository.
hossman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/master by this push:
new 7e57d3a SOLR-13574: Fix many test and test-framework classes to not fail on After/AfterClass cleanup if assumptions fail in Before/BeforeClass setup
7e57d3a is described below
commit 7e57d3a9d93e8acb77ce299f8c79d92df563b864
Author: Chris Hostetter <ho...@apache.org>
AuthorDate: Thu Jun 27 10:28:06 2019 -0700
SOLR-13574: Fix many test and test-framework classes to not fail on After/AfterClass cleanup if assumptions fail in Before/BeforeClass setup
---
.../function/field/AbstractAnalyticsFieldTest.java | 5 +++-
.../legacy/LegacyAbstractAnalyticsCloudTest.java | 1 -
.../dataimport/TestContentStreamDataSource.java | 5 +++-
.../dataimport/TestHierarchicalDocBuilder.java | 5 +++-
.../handler/dataimport/TestJdbcDataSource.java | 4 ++-
.../TestSolrEntityProcessorEndToEnd.java | 10 ++++++--
.../handler/dataimport/TestZKPropertiesWriter.java | 14 +++++-----
.../org/apache/solr/ltr/TestLTROnSolrCloud.java | 5 +++-
.../test/org/apache/solr/ltr/TestRerankBase.java | 17 ++++++++----
.../prometheus/scraper/SolrCloudScraperTest.java | 5 +++-
.../scraper/SolrStandaloneScraperTest.java | 10 ++++++--
.../test/org/apache/solr/TestTolerantSearch.java | 18 ++++++++-----
.../embedded/TestEmbeddedSolrServerSchemaAPI.java | 6 +++--
.../org/apache/solr/cloud/CleanupOldIndexTest.java | 2 +-
.../apache/solr/cloud/CreateRoutedAliasTest.java | 5 +++-
.../apache/solr/cloud/DistributedQueueTest.java | 9 +++++--
.../solr/cloud/LeaderVoteWaitTimeoutTest.java | 6 +++--
.../solr/cloud/MissingSegmentRecoveryTest.java | 4 +++
.../OverseerCollectionConfigSetProcessorTest.java | 12 ++++++---
.../test/org/apache/solr/cloud/RecoveryZkTest.java | 23 +++++++++++------
.../apache/solr/cloud/ReindexCollectionTest.java | 5 +++-
.../org/apache/solr/cloud/SolrCLIZkUtilsTest.java | 6 ++++-
.../solr/cloud/SystemCollectionCompatTest.java | 5 +++-
.../apache/solr/cloud/TestCloudConsistency.java | 8 +++---
.../apache/solr/cloud/TestCloudDeleteByQuery.java | 30 +++++++++++++++++-----
.../TestCloudPhrasesIdentificationComponent.java | 5 +++-
.../solr/cloud/TestCloudPseudoReturnFields.java | 5 +++-
.../solr/cloud/TestCloudSearcherWarming.java | 9 ++++---
.../org/apache/solr/cloud/TestConfigSetsAPI.java | 5 +++-
.../solr/cloud/TestConfigSetsAPIExclusivity.java | 5 +++-
.../solr/cloud/TestConfigSetsAPIZkFailure.java | 10 ++++++--
.../org/apache/solr/cloud/TestDistributedMap.java | 6 +++--
.../solr/cloud/TestPullReplicaErrorHandling.java | 8 +++---
.../apache/solr/cloud/TestRandomFlRTGCloud.java | 5 +++-
.../cloud/TestSolrCloudWithDelegationTokens.java | 14 ++++++----
.../cloud/TestStressCloudBlindAtomicUpdates.java | 12 ++++++---
.../org/apache/solr/cloud/TestStressLiveNodes.java | 6 +++--
.../test/org/apache/solr/cloud/TestZkChroot.java | 7 ++---
.../test/org/apache/solr/cloud/ZkFailoverTest.java | 11 --------
.../ConcurrentDeleteAndCreateCollectionTest.java | 5 +++-
.../cloud/autoscaling/IndexSizeTriggerTest.java | 2 +-
.../autoscaling/sim/TestSimComputePlanAction.java | 5 ++++
.../autoscaling/sim/TestSimExecutePlanAction.java | 5 ++++
.../solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java | 12 ++++++---
.../solr/cloud/cdcr/CdcrWithNodesRestartsTest.java | 12 ++++++---
.../org/apache/solr/handler/TestCSVLoader.java | 5 +++-
.../solr/handler/TestReplicationHandler.java | 23 ++++++++++++-----
.../solr/handler/TestReplicationHandlerBackup.java | 12 ++++++---
.../TestReplicationHandlerDiskOverFlow.java | 22 +++++++++++-----
.../org/apache/solr/handler/TestRestoreCore.java | 12 ++++++---
.../solr/handler/admin/DaemonStreamApiTest.java | 5 +++-
.../solr/handler/admin/MetricsHandlerTest.java | 8 +++---
.../component/DistributedDebugComponentTest.java | 18 ++++++++-----
.../apache/solr/index/hdfs/CheckHdfsIndexTest.java | 4 ++-
.../solr/legacy/TestNumericRangeQuery32.java | 12 ++++++---
.../solr/legacy/TestNumericRangeQuery64.java | 12 ++++++---
.../solr/metrics/SolrCoreMetricManagerTest.java | 8 +++---
.../solr/metrics/SolrMetricsIntegrationTest.java | 4 +++
.../metrics/reporters/SolrJmxReporterTest.java | 3 +++
.../analysis/TestManagedStopFilterFactory.java | 6 +++--
.../analysis/TestManagedSynonymFilterFactory.java | 11 +++++---
.../TestManagedSynonymGraphFilterFactory.java | 10 +++++---
.../solr/schema/TestManagedSchemaThreadSafety.java | 6 +++--
.../solr/schema/TestUseDocValuesAsStored.java | 1 -
.../search/facet/TestCloudJSONFacetJoinDomain.java | 5 +++-
.../solr/search/facet/TestCloudJSONFacetSKG.java | 5 +++-
.../apache/solr/search/function/TestOrdValues.java | 4 ++-
.../solr/search/join/BlockJoinFacetRandomTest.java | 8 +++---
.../solr/search/mlt/CloudMLTQParserTest.java | 4 ++-
.../solr/security/AuditLoggerIntegrationTest.java | 4 ++-
.../solr/security/AuditLoggerPluginTest.java | 7 +++--
.../solr/security/BasicAuthStandaloneTest.java | 5 +++-
.../apache/solr/security/JWTAuthPluginTest.java | 5 +++-
.../security/SolrLogAuditLoggerPluginTest.java | 7 +++--
.../apache/solr/servlet/ResponseHeaderTest.java | 4 ++-
.../solr/store/blockcache/BlockDirectoryTest.java | 5 +++-
.../apache/solr/uninverting/TestFieldCache.java | 12 ++++++---
.../solr/uninverting/TestLegacyFieldCache.java | 12 ++++++---
.../solr/uninverting/TestNumericTerms32.java | 14 ++++++----
.../solr/uninverting/TestNumericTerms64.java | 14 ++++++----
.../org/apache/solr/update/AddBlockUpdateTest.java | 7 ++---
.../apache/solr/update/MaxSizeAutoCommitTest.java | 6 +++--
.../CategoryRoutedAliasUpdateProcessorTest.java | 10 +++-----
.../ClassificationUpdateProcessorTest.java | 15 ++++++++---
.../TimeRoutedAliasUpdateProcessorTest.java | 4 ++-
.../test/org/apache/solr/util/AuthToolTest.java | 5 +++-
.../test/org/apache/solr/util/UtilsToolTest.java | 5 +++-
.../solrj/impl/HttpSolrClientConPoolTest.java | 6 +++--
.../common/cloud/TestCollectionStateWatchers.java | 4 ++-
.../common/cloud/TestDocCollectionWatcher.java | 4 ++-
.../solr/common/cloud/TestZkConfigManager.java | 4 ++-
.../src/java/org/apache/solr/SolrTestCase.java | 30 ++++++++++++++++++++++
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 9 ++++++-
93 files changed, 555 insertions(+), 220 deletions(-)
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
index ae4b881..3769d18 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/function/field/AbstractAnalyticsFieldTest.java
@@ -224,7 +224,10 @@ public class AbstractAnalyticsFieldTest extends SolrTestCaseJ4 {
@AfterClass
public static void closeSearcher() throws IOException {
- ref.decref();
+ if (null != ref) {
+ ref.decref();
+ ref = null;
+ }
}
protected <T> void checkSingleFieldValues(Map<String,T> expected, Map<String,T> found, Set<String> missing) {
diff --git a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsCloudTest.java b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsCloudTest.java
index d00effd..76c7c50 100644
--- a/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsCloudTest.java
+++ b/solr/contrib/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsCloudTest.java
@@ -54,7 +54,6 @@ public class LegacyAbstractAnalyticsCloudTest extends SolrCloudTestCase {
@After
public void teardownCollection() throws Exception {
- cluster.deleteAllCollections();
shutdownCluster();
}
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
index 7a7ddb5..34e50e0 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
@@ -58,7 +58,10 @@ public class TestContentStreamDataSource extends AbstractDataImportHandlerTestCa
@Override
@After
public void tearDown() throws Exception {
- jetty.stop();
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
super.tearDown();
}
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
index 05dfd4d..2c7a32a 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestHierarchicalDocBuilder.java
@@ -103,7 +103,10 @@ public class TestHierarchicalDocBuilder extends AbstractDataImportHandlerTestCas
@After
public void after() {
- req.close();
+ if (null != req) {
+ req.close();
+ req = null;
+ }
MockDataSource.clearCache();
}
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
index e44e7f9..e091888 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestJdbcDataSource.java
@@ -96,7 +96,9 @@ public class TestJdbcDataSource extends AbstractDataImportHandlerTestCase {
System.setProperty("java.naming.factory.initial", sysProp);
}
super.tearDown();
- reset(driver, dataSource, connection);
+ if (null != driver) {
+ reset(driver, dataSource, connection);
+ }
}
@Test
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
index 477fee1..badaf1b 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
@@ -138,8 +138,14 @@ public class TestSolrEntityProcessorEndToEnd extends AbstractDataImportHandlerTe
} catch (Exception e) {
log.error("Error deleting core", e);
}
- jetty.stop();
- instance.tearDown();
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
+ if (null != instance) {
+ instance.tearDown();
+ instance = null;
+ }
super.tearDown();
}
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
index 1d6f591..9279d28 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestZKPropertiesWriter.java
@@ -82,13 +82,15 @@ public class TestZKPropertiesWriter extends AbstractDataImportHandlerTestCase {
@AfterClass
public static void dihZk_afterClass() throws Exception {
- cc.shutdown();
-
- zkServer.shutdown();
-
- zkServer = null;
+ if (null != cc) {
+ cc.shutdown();
+ cc = null;
+ }
+ if (null != zkServer) {
+ zkServer.shutdown();
+ zkServer = null;
+ }
zkDir = null;
- cc = null;
}
@SuppressForbidden(reason = "Needs currentTimeMillis to construct date stamps")
diff --git a/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestLTROnSolrCloud.java b/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestLTROnSolrCloud.java
index 0d000ce..c8f96d1 100644
--- a/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestLTROnSolrCloud.java
+++ b/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestLTROnSolrCloud.java
@@ -299,7 +299,10 @@ public class TestLTROnSolrCloud extends TestRerankBase {
@AfterClass
public static void after() throws Exception {
- FileUtils.deleteDirectory(tmpSolrHome);
+ if (null != tmpSolrHome) {
+ FileUtils.deleteDirectory(tmpSolrHome);
+ tmpSolrHome = null;
+ }
System.clearProperty("managed.schema.mutable");
}
diff --git a/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestRerankBase.java b/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestRerankBase.java
index b9c39f4..1cffecc 100644
--- a/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestRerankBase.java
+++ b/solr/contrib/ltr/src/test/org/apache/solr/ltr/TestRerankBase.java
@@ -214,11 +214,18 @@ public class TestRerankBase extends RestTestBase {
}
protected static void aftertest() throws Exception {
- restTestHarness.close();
- restTestHarness = null;
- jetty.stop();
- jetty = null;
- FileUtils.deleteDirectory(tmpSolrHome);
+ if (null != restTestHarness) {
+ restTestHarness.close();
+ restTestHarness = null;
+ }
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
+ if (null != tmpSolrHome) {
+ FileUtils.deleteDirectory(tmpSolrHome);
+ tmpSolrHome = null;
+ }
System.clearProperty("managed.schema.mutable");
// System.clearProperty("enable.update.log");
unchooseDefaultFeatureFormat();
diff --git a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
index a98ede1..5707f2e 100644
--- a/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
+++ b/solr/contrib/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
@@ -92,7 +92,10 @@ public class SolrCloudScraperTest extends PrometheusExporterTestBase {
public void tearDown() throws Exception {
super.tearDown();
IOUtils.closeQuietly(solrCloudScraper);
- executor.shutdownNow();
+ if (null != executor) {
+ executor.shutdownNow();
+ executor = null;
+ }
}
@Test
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 ed21fea..3521156 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
@@ -83,8 +83,14 @@ public class SolrStandaloneScraperTest extends RestTestBase {
IOUtils.closeQuietly(solrScraper);
IOUtils.closeQuietly(solrClient);
cleanUpHarness();
- executor.shutdownNow();
- jetty.stop();
+ if (null != executor) {
+ executor.shutdownNow();
+ executor = null;
+ }
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/TestTolerantSearch.java b/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
index afde390..81dd4be 100644
--- a/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
+++ b/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
@@ -99,12 +99,18 @@ public class TestTolerantSearch extends SolrJettyTestBase {
@AfterClass
public static void destroyThings() throws Exception {
- collection1.close();
- collection2.close();
- collection1 = null;
- collection2 = null;
- jetty.stop();
- jetty=null;
+ if (null != collection1) {
+ collection1.close();
+ collection1 = null;
+ }
+ if (null != collection2) {
+ collection2.close();
+ collection2 = null;
+ }
+ if (null != jetty) {
+ jetty.stop();
+ jetty=null;
+ }
resetExceptionIgnores();
systemClearPropertySolrDisableShardsWhitelist();
}
diff --git a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java
index 9033a86..5a8c915 100644
--- a/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java
+++ b/solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerSchemaAPI.java
@@ -65,8 +65,10 @@ public class TestEmbeddedSolrServerSchemaAPI extends SolrTestCaseJ4 {
@AfterClass
public static void destroyClass() throws IOException {
- server.close(); // doubtful
- server = null;
+ if (null != server) {
+ server.close();
+ server = null;
+ }
System.clearProperty("managed.schema.mutable");
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java b/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
index 65d0d52..ff1660f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CleanupOldIndexTest.java
@@ -49,7 +49,7 @@ public class CleanupOldIndexTest extends SolrCloudTestCase {
@AfterClass
public static void afterClass() throws Exception {
- if (suiteFailureMarker.wasSuccessful()) {
+ if (null != cluster && suiteFailureMarker.wasSuccessful()) {
zkClient().printLayoutToStream(System.out);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
index 3cf9e2f..47c6b85 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
@@ -82,7 +82,10 @@ public class CreateRoutedAliasTest extends SolrCloudTestCase {
public void doAfter() throws Exception {
cluster.deleteAllCollections(); // deletes aliases too
- solrClient.close();
+ if (null != solrClient) {
+ solrClient.close();
+ solrClient = null;
+ }
}
// This is a fairly complete test where we set many options and see that it both affected the created
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java b/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
index 7108945..4a62dcf 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistributedQueueTest.java
@@ -349,8 +349,13 @@ public class DistributedQueueTest extends SolrTestCaseJ4 {
}
protected void closeZk() throws Exception {
- if (zkClient != null)
+ if (null != zkClient) {
zkClient.close();
- zkServer.shutdown();
+ zkClient = null;
+ }
+ if (null != zkServer) {
+ zkServer.shutdown();
+ zkServer = null;
+ }
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
index 5503ba7..3dfb521 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
@@ -100,8 +100,10 @@ public class LeaderVoteWaitTimeoutTest extends SolrCloudTestCase {
@After
public void tearDown() throws Exception {
- for (SocketProxy proxy:proxies.values()) {
- proxy.close();
+ if (null != proxies) {
+ for (SocketProxy proxy : proxies.values()) {
+ proxy.close();
+ }
}
shutdownCluster();
super.tearDown();
diff --git a/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java b/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
index c2a5806..13b5df0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java
@@ -79,6 +79,10 @@ public class MissingSegmentRecoveryTest extends SolrCloudTestCase {
@After
public void teardown() throws Exception {
+ if (null == leader) {
+ // test did not initialize, cleanup is No-Op;
+ return;
+ }
System.clearProperty("CoreInitFailedAction");
CollectionAdminRequest.deleteCollection(collection).process(cluster.getSolrClient());
}
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 5ead862..9b2d2d0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -530,9 +530,15 @@ public class OverseerCollectionConfigSetProcessorTest extends SolrTestCaseJ4 {
}
protected void stopComponentUnderTest() throws Exception {
- underTest.close();
- thread.interrupt();
- thread.join();
+ if (null != underTest) {
+ underTest.close();
+ underTest = null;
+ }
+ if (null != thread) {
+ thread.interrupt();
+ thread.join();
+ thread = null;
+ }
}
protected void issueCreateJob(Integer numberOfSlices,
diff --git a/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java b/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
index fa9a2df..5693330 100644
--- a/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud;
import java.lang.invoke.MethodHandles;
+import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -47,15 +48,17 @@ public class RecoveryZkTest extends SolrCloudTestCase {
.configure();
}
- private StoppableIndexingThread indexThread;
- private StoppableIndexingThread indexThread2;
+ private final List<StoppableIndexingThread> threads = new ArrayList<>();
@After
public void stopThreads() throws InterruptedException {
- indexThread.safeStop();
- indexThread2.safeStop();
- indexThread.join();
- indexThread2.join();
+ for (StoppableIndexingThread t : threads) {
+ t.safeStop();
+ }
+ for (StoppableIndexingThread t : threads) {
+ t.join();
+ }
+ threads.clear();
}
@Test
@@ -83,10 +86,14 @@ public class RecoveryZkTest extends SolrCloudTestCase {
}
log.info("Indexing {} documents", maxDoc);
- indexThread = new StoppableIndexingThread(null, cluster.getSolrClient(), "1", true, maxDoc, 1, true);
+ final StoppableIndexingThread indexThread
+ = new StoppableIndexingThread(null, cluster.getSolrClient(), "1", true, maxDoc, 1, true);
+ threads.add(indexThread);
indexThread.start();
- indexThread2 = new StoppableIndexingThread(null, cluster.getSolrClient(), "2", true, maxDoc, 1, true);
+ final StoppableIndexingThread indexThread2
+ = new StoppableIndexingThread(null, cluster.getSolrClient(), "2", true, maxDoc, 1, true);
+ threads.add(indexThread2);
indexThread2.start();
// give some time to index...
diff --git a/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
index 0f99556..eff0dde 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReindexCollectionTest.java
@@ -108,7 +108,10 @@ public class ReindexCollectionTest extends SolrCloudTestCase {
public void doAfter() throws Exception {
cluster.deleteAllCollections(); // deletes aliases too
- solrClient.close();
+ if (null != solrClient) {
+ solrClient.close();
+ solrClient = null;
+ }
TestInjection.reset();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCLIZkUtilsTest.java b/solr/core/src/test/org/apache/solr/cloud/SolrCLIZkUtilsTest.java
index 81c5679..f0ce5d7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SolrCLIZkUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SolrCLIZkUtilsTest.java
@@ -55,7 +55,11 @@ public class SolrCLIZkUtilsTest extends SolrCloudTestCase {
@AfterClass
public static void closeConn() {
- zkClient.close();
+ if (null != zkClient) {
+ zkClient.close();
+ zkClient = null;
+ }
+ zkAddr = null;
}
private static String zkAddr;
diff --git a/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java b/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
index d2e98cb..d3775ab 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SystemCollectionCompatTest.java
@@ -126,7 +126,10 @@ public class SystemCollectionCompatTest extends SolrCloudTestCase {
public void doAfter() throws Exception {
cluster.deleteAllCollections();
- solrClient.close();
+ if (null != solrClient) {
+ solrClient.close();
+ solrClient = null;
+ }
}
private Map<String, Object> getSchemaField(String name, SchemaResponse schemaResponse) {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
index a741925..f3224ff 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
@@ -78,10 +78,12 @@ public class TestCloudConsistency extends SolrCloudTestCase {
@After
public void tearDownCluster() throws Exception {
- for (SocketProxy proxy:proxies.values()) {
- proxy.close();
+ if (null != proxies) {
+ for (SocketProxy proxy : proxies.values()) {
+ proxy.close();
+ }
+ proxies = null;
}
- proxies = null;
jettys = null;
System.clearProperty("solr.directoryFactory");
System.clearProperty("solr.ulog.numRecordsToKeep");
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
index 7558df0..e895fe3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
@@ -83,12 +83,30 @@ public class TestCloudDeleteByQuery extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
- S_ONE_LEADER_CLIENT.close(); S_ONE_LEADER_CLIENT = null;
- S_TWO_LEADER_CLIENT.close(); S_TWO_LEADER_CLIENT = null;
- S_ONE_NON_LEADER_CLIENT.close(); S_ONE_NON_LEADER_CLIENT = null;
- S_TWO_NON_LEADER_CLIENT.close(); S_TWO_NON_LEADER_CLIENT = null;
- NO_COLLECTION_CLIENT.close(); NO_COLLECTION_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
+ if (null != S_ONE_LEADER_CLIENT) {
+ S_ONE_LEADER_CLIENT.close();
+ S_ONE_LEADER_CLIENT = null;
+ }
+ if (null != S_TWO_LEADER_CLIENT) {
+ S_TWO_LEADER_CLIENT.close();
+ S_TWO_LEADER_CLIENT = null;
+ }
+ if (null != S_ONE_NON_LEADER_CLIENT) {
+ S_ONE_NON_LEADER_CLIENT.close();
+ S_ONE_NON_LEADER_CLIENT = null;
+ }
+ if (null != S_TWO_NON_LEADER_CLIENT) {
+ S_TWO_NON_LEADER_CLIENT.close();
+ S_TWO_NON_LEADER_CLIENT = null;
+ }
+ if (null != NO_COLLECTION_CLIENT) {
+ NO_COLLECTION_CLIENT.close();
+ NO_COLLECTION_CLIENT = null;
+ }
}
@BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudPhrasesIdentificationComponent.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudPhrasesIdentificationComponent.java
index 240bec3..8bd3919 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudPhrasesIdentificationComponent.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudPhrasesIdentificationComponent.java
@@ -110,7 +110,10 @@ public class TestCloudPhrasesIdentificationComponent extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
client.close();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudPseudoReturnFields.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudPseudoReturnFields.java
index d6f07ce..7e4a67a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudPseudoReturnFields.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudPseudoReturnFields.java
@@ -110,7 +110,10 @@ public class TestCloudPseudoReturnFields extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
client.close();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
index 7376a73..70680c2 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
@@ -75,9 +75,12 @@ public class TestCloudSearcherWarming extends SolrCloudTestCase {
coreNodeNameRef.set(null);
sleepTime.set(-1);
- cluster.deleteAllCollections();
- cluster.deleteAllConfigSets();
- cluster.shutdown();
+ if (null != cluster) {
+ cluster.deleteAllCollections();
+ cluster.deleteAllConfigSets();
+ cluster.shutdown();
+ cluster = null;
+ }
TestInjection.wrongIndexFingerprint = null;
super.tearDown();
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
index 570525b..e4ebf29 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
@@ -116,7 +116,10 @@ public class TestConfigSetsAPI extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- solrCluster.shutdown();
+ if (null != solrCluster) {
+ solrCluster.shutdown();
+ solrCluster = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
index a110727..407828b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIExclusivity.java
@@ -56,7 +56,10 @@ public class TestConfigSetsAPIExclusivity extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- solrCluster.shutdown();
+ if (null != solrCluster) {
+ solrCluster.shutdown();
+ solrCluster = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
index e7f3537..a15d5a2 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIZkFailure.java
@@ -88,8 +88,14 @@ public class TestConfigSetsAPIZkFailure extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- solrCluster.shutdown();
- zkTestServer.shutdown();
+ if (null != solrCluster) {
+ solrCluster.shutdown();
+ solrCluster = null;
+ }
+ if (null != zkTestServer) {
+ zkTestServer.shutdown();
+ zkTestServer = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestDistributedMap.java b/solr/core/src/test/org/apache/solr/cloud/TestDistributedMap.java
index ba380d1..8a89df4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestDistributedMap.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestDistributedMap.java
@@ -48,8 +48,10 @@ public class TestDistributedMap extends SolrTestCaseJ4 {
zkServer.shutdown();
zkServer = null;
}
- FileUtils.deleteDirectory(zkDir.toFile());
- zkDir = null;
+ if (null != zkDir) {
+ FileUtils.deleteDirectory(zkDir.toFile());
+ zkDir = null;
+ }
}
public void testPut() throws KeeperException, InterruptedException {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
index 6a52e3f..a449589 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
@@ -107,10 +107,12 @@ public class TestPullReplicaErrorHandling extends SolrCloudTestCase {
@AfterClass
public static void tearDownCluster() throws Exception {
- for (SocketProxy proxy:proxies.values()) {
- proxy.close();
+ if (null != proxies) {
+ for (SocketProxy proxy : proxies.values()) {
+ proxy.close();
+ }
+ proxies = null;
}
- proxies = null;
jettys = null;
TestInjection.reset();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
index ea95fef..b20f3df 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
@@ -155,7 +155,10 @@ public class TestRandomFlRTGCloud extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
client.close();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
index 85580cf..c2fea00 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithDelegationTokens.java
@@ -82,12 +82,16 @@ public class TestSolrCloudWithDelegationTokens extends SolrTestCaseJ4 {
public static void shutdown() throws Exception {
if (miniCluster != null) {
miniCluster.shutdown();
+ miniCluster = null;
+ }
+ if (null != solrClientPrimary) {
+ solrClientPrimary.close();
+ solrClientPrimary = null;
+ }
+ if (null != solrClientSecondary) {
+ solrClientSecondary.close();
+ solrClientSecondary = null;
}
- miniCluster = null;
- solrClientPrimary.close();
- solrClientPrimary = null;
- solrClientSecondary.close();
- solrClientSecondary = null;
System.clearProperty("authenticationPlugin");
System.clearProperty(KerberosPlugin.DELEGATION_TOKEN_ENABLED);
System.clearProperty("solr.kerberos.cookie.domain");
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
index 54f9ba9..689d10c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
@@ -158,10 +158,14 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
TestInjection.reset();
- ExecutorUtil.shutdownAndAwaitTermination(EXEC_SERVICE);
- EXEC_SERVICE = null;
- IOUtils.closeQuietly(CLOUD_CLIENT);
- CLOUD_CLIENT = null;
+ if (null != EXEC_SERVICE) {
+ ExecutorUtil.shutdownAndAwaitTermination(EXEC_SERVICE);
+ EXEC_SERVICE = null;
+ }
+ if (null != CLOUD_CLIENT) {
+ IOUtils.closeQuietly(CLOUD_CLIENT);
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
if (null == client) {
log.error("CLIENTS contains a null SolrClient???");
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressLiveNodes.java b/solr/core/src/test/org/apache/solr/cloud/TestStressLiveNodes.java
index e20b921..aa0b154 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressLiveNodes.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressLiveNodes.java
@@ -76,8 +76,10 @@ public class TestStressLiveNodes extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close();
- CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
}
private static SolrZkClient newSolrZkClient() {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestZkChroot.java b/solr/core/src/test/org/apache/solr/cloud/TestZkChroot.java
index 9ab74ec..edf596f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestZkChroot.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestZkChroot.java
@@ -58,9 +58,10 @@ public class TestZkChroot extends SolrTestCaseJ4 {
cores = null;
}
- zkServer.shutdown();
-
- zkServer = null;
+ if (null != zkServer) {
+ zkServer.shutdown();
+ zkServer = null;
+ }
zkDir = null;
super.tearDown();
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java b/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
index 39f1810..7c0250f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
@@ -25,7 +25,6 @@ import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.zookeeper.KeeperException;
-import org.junit.AfterClass;
import org.junit.BeforeClass;
public class ZkFailoverTest extends SolrCloudTestCase {
@@ -39,16 +38,6 @@ public class ZkFailoverTest extends SolrCloudTestCase {
.configure();
}
- @AfterClass
- public static void cleanUp() throws Exception {
- System.clearProperty("waitForZk");
-
- for (int i = 0; i < cluster.getJettySolrRunners().size(); i++) {
- final JettySolrRunner runner = cluster.getJettySolrRunner(i);
- runner.stop();
- }
- }
-
public void testRestartZkWhenClusterDown() throws Exception {
String coll = "coll1";
CollectionAdminRequest.createCollection(coll, 2, 1).process(cluster.getSolrClient());
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java
index 1d0036e..e936be3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java
@@ -55,7 +55,10 @@ public class ConcurrentDeleteAndCreateCollectionTest extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- solrCluster.shutdown();
+ if (null != solrCluster) {
+ solrCluster.shutdown();
+ solrCluster = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
index d34e081..59c7d67 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
@@ -147,7 +147,7 @@ public class IndexSizeTriggerTest extends SolrCloudTestCase {
@AfterClass
public static void teardown() throws Exception {
- if (!realCluster) {
+ if (cloudManager != null && !realCluster) {
cloudManager.close();
}
solrClient = null;
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimComputePlanAction.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimComputePlanAction.java
index 387072d..4b7f4d3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimComputePlanAction.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimComputePlanAction.java
@@ -106,6 +106,11 @@ public class TestSimComputePlanAction extends SimSolrCloudTestCase {
@After
public void printState() throws Exception {
+ if (null == cluster) {
+ // test didn't init, nothing to do
+ return;
+ }
+
log.info("-------------_ FINAL STATE --------------");
log.info("* Node values: " + Utils.toJSONString(cluster.getSimNodeStateProvider().simGetAllNodeValues()));
log.info("* Live nodes: " + cluster.getClusterStateProvider().getLiveNodes());
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimExecutePlanAction.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimExecutePlanAction.java
index f64dad2..7c0f8bc 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimExecutePlanAction.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimExecutePlanAction.java
@@ -70,6 +70,11 @@ public class TestSimExecutePlanAction extends SimSolrCloudTestCase {
@After
public void printState() throws Exception {
+ if (null == cluster) {
+ // test didn't init, nothing to do
+ return;
+ }
+
log.info("-------------_ FINAL STATE --------------");
log.info("* Node values: " + Utils.toJSONString(cluster.getSimNodeStateProvider().simGetAllNodeValues()));
log.info("* Live nodes: " + cluster.getClusterStateProvider().getLiveNodes());
diff --git a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java
index 41da87d..4827a12 100644
--- a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java
@@ -56,8 +56,14 @@ public class CdcrOpsAndBoundariesTest extends SolrTestCaseJ4 {
@After
public void after() throws Exception {
- target.shutdown();
- source.shutdown();
+ if (null != target) {
+ target.shutdown();
+ target = null;
+ }
+ if (null != source) {
+ source.shutdown();
+ source = null;
+ }
}
/**
@@ -320,4 +326,4 @@ public class CdcrOpsAndBoundariesTest extends SolrTestCaseJ4 {
deleteTargetcollection();
}
-}
\ No newline at end of file
+}
diff --git a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrWithNodesRestartsTest.java b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrWithNodesRestartsTest.java
index 1db9b4f..22ebc9f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrWithNodesRestartsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrWithNodesRestartsTest.java
@@ -62,8 +62,14 @@ public class CdcrWithNodesRestartsTest extends SolrTestCaseJ4 {
@After
public void after() throws Exception {
- target.shutdown();
- source.shutdown();
+ if (null != target) {
+ target.shutdown();
+ target = null;
+ }
+ if (null != source) {
+ source.shutdown();
+ source = null;
+ }
}
@Test
@@ -350,4 +356,4 @@ public class CdcrWithNodesRestartsTest extends SolrTestCaseJ4 {
deleteTargetcollection();
}
-}
\ No newline at end of file
+}
diff --git a/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java b/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
index 2fde95a..4b24bab 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
@@ -61,7 +61,10 @@ public class TestCSVLoader extends SolrTestCaseJ4 {
// if you override setUp or tearDown, you better call
// the super classes version
super.tearDown();
- Files.delete(file.toPath());
+ if (null != file) {
+ Files.delete(file.toPath());
+ file = null;
+ }
}
void makeFile(String contents) {
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
index b188507..c080ba3 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
@@ -147,13 +147,22 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- masterJetty.stop();
- slaveJetty.stop();
- masterJetty = slaveJetty = null;
- master = slave = null;
- masterClient.close();
- slaveClient.close();
- masterClient = slaveClient = null;
+ if (null != masterJetty) {
+ masterJetty.stop();
+ masterJetty = null;
+ }
+ if (null != slaveJetty) {
+ slaveJetty.stop();
+ slaveJetty = null;
+ }
+ if (null != masterClient) {
+ masterClient.close();
+ masterClient = null;
+ }
+ if (null != slaveClient) {
+ slaveClient.close();
+ slaveClient = null;
+ }
System.clearProperty("solr.indexfetcher.sotimeout");
}
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
index 5d80a8d..e57241d 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
@@ -115,10 +115,14 @@ public class TestReplicationHandlerBackup extends SolrJettyTestBase {
@After
public void tearDown() throws Exception {
super.tearDown();
- masterClient.close();
- masterClient = null;
- masterJetty.stop();
- masterJetty = null;
+ if (null != masterClient) {
+ masterClient.close();
+ masterClient = null;
+ }
+ if (null != masterJetty) {
+ masterJetty.stop();
+ masterJetty = null;
+ }
master = null;
}
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
index 8a25a41..9b997d5 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
@@ -91,13 +91,23 @@ public class TestReplicationHandlerDiskOverFlow extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- masterJetty.stop();
- slaveJetty.stop();
- masterJetty = slaveJetty = null;
+ if (null != masterJetty) {
+ masterJetty.stop();
+ masterJetty = null;
+ }
+ if (null != slaveJetty) {
+ slaveJetty.stop();
+ slaveJetty = null;
+ }
master = slave = null;
- masterClient.close();
- slaveClient.close();
- masterClient = slaveClient = null;
+ if (null != masterClient) {
+ masterClient.close();
+ masterClient = null;
+ }
+ if (null != slaveClient) {
+ slaveClient.close();
+ slaveClient = null;
+ }
System.clearProperty("solr.indexfetcher.sotimeout");
IndexFetcher.usableDiskSpaceProvider = originalDiskSpaceprovider;
diff --git a/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java b/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
index 0232c87..8f04f26 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
@@ -98,10 +98,14 @@ public class TestRestoreCore extends SolrJettyTestBase {
@After
public void tearDown() throws Exception {
super.tearDown();
- masterClient.close();
- masterClient = null;
- masterJetty.stop();
- masterJetty = null;
+ if (null != masterClient) {
+ masterClient.close();
+ masterClient = null;
+ }
+ if (null != masterJetty) {
+ masterJetty.stop();
+ masterJetty = null;
+ }
master = null;
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java b/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
index b04b749..480282e 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
@@ -95,7 +95,10 @@ public class DaemonStreamApiTest extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- cluster.shutdown();
+ if (null != cluster) {
+ cluster.shutdown();
+ cluster = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
index 587debb..a6dbd9e 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
@@ -52,9 +52,11 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
@AfterClass
public static void cleanupMetrics() throws Exception {
- h.getCoreContainer().getMetricManager().registry("solr.jvm" ).remove("solrtest_foo");
- h.getCoreContainer().getMetricManager().registry("solr.jetty").remove("solrtest_foo");
- h.getCoreContainer().getMetricManager().registry("solr.jetty").remove("solrtest_foo:bar");
+ if (null != h) {
+ h.getCoreContainer().getMetricManager().registry("solr.jvm" ).remove("solrtest_foo");
+ h.getCoreContainer().getMetricManager().registry("solr.jetty").remove("solrtest_foo");
+ h.getCoreContainer().getMetricManager().registry("solr.jetty").remove("solrtest_foo:bar");
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java
index ffd62a4..398d463 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java
@@ -98,12 +98,18 @@ public class DistributedDebugComponentTest extends SolrJettyTestBase {
@AfterClass
public static void destroyThings() throws Exception {
- collection1.close();
- collection2.close();
- collection1 = null;
- collection2 = null;
- jetty.stop();
- jetty=null;
+ if (null != collection1) {
+ collection1.close();
+ collection1 = null;
+ }
+ if (null != collection2) {
+ collection2.close();
+ collection2 = null;
+ }
+ if (null != jetty) {
+ jetty.stop();
+ jetty=null;
+ }
resetExceptionIgnores();
systemClearPropertySolrDisableShardsWhitelist();
}
diff --git a/solr/core/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java b/solr/core/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
index 7a7ec78..8eefd9a 100644
--- a/solr/core/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
+++ b/solr/core/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
@@ -87,7 +87,9 @@ public class CheckHdfsIndexTest extends AbstractFullDistribZkTestBase {
@After
public void tearDown() throws Exception {
try {
- directory.close();
+ if (null != directory) {
+ directory.close();
+ }
} finally {
try(FileSystem fs = FileSystem.get(HdfsTestUtil.getClientConfiguration(dfsCluster))) {
fs.delete(path, true);
diff --git a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
index 09ec5be..1b904fe 100644
--- a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
+++ b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
@@ -127,10 +127,14 @@ public class TestNumericRangeQuery32 extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
searcher = null;
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
@Override
diff --git a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
index b8979f3..dca9f2c 100644
--- a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
+++ b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
@@ -136,10 +136,14 @@ public class TestNumericRangeQuery64 extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
searcher = null;
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
@Override
diff --git a/solr/core/src/test/org/apache/solr/metrics/SolrCoreMetricManagerTest.java b/solr/core/src/test/org/apache/solr/metrics/SolrCoreMetricManagerTest.java
index c6b0fa4..141537b 100644
--- a/solr/core/src/test/org/apache/solr/metrics/SolrCoreMetricManagerTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/SolrCoreMetricManagerTest.java
@@ -51,9 +51,11 @@ public class SolrCoreMetricManagerTest extends SolrTestCaseJ4 {
@After
public void afterTest() throws IOException {
- coreMetricManager.close();
- assertTrue(metricManager.getReporters(coreMetricManager.getRegistryName()).isEmpty());
- deleteCore();
+ if (null != coreMetricManager) {
+ coreMetricManager.close();
+ assertTrue(metricManager.getReporters(coreMetricManager.getRegistryName()).isEmpty());
+ deleteCore();
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
index 055109e..7f37031 100644
--- a/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/SolrMetricsIntegrationTest.java
@@ -109,6 +109,10 @@ public class SolrMetricsIntegrationTest extends SolrTestCaseJ4 {
@After
public void afterTest() throws Exception {
+ if (null == metricManager) {
+ return; // test failed to init, nothing to cleanup
+ }
+
SolrCoreMetricManager coreMetricManager = h.getCore().getCoreMetricManager();
Map<String, SolrMetricReporter> reporters = metricManager.getReporters(coreMetricManager.getRegistryName());
diff --git a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
index 3c7c25b..9b9c31c 100644
--- a/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
+++ b/solr/core/src/test/org/apache/solr/metrics/reporters/SolrJmxReporterTest.java
@@ -118,6 +118,9 @@ public class SolrJmxReporterTest extends SolrTestCaseJ4 {
@After
public void afterTest() throws Exception {
+ if (null == metricManager) {
+ return; // test failed to init, nothing to cleanup
+ }
metricManager.closeReporters(coreMetricManager.getRegistryName());
Set<ObjectInstance> objects =
mBeanServer.queryMBeans(ObjectName.getInstance(domain + ":*"), null);
diff --git a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedStopFilterFactory.java b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedStopFilterFactory.java
index cbc2fb2..4950ac4 100644
--- a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedStopFilterFactory.java
+++ b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedStopFilterFactory.java
@@ -62,8 +62,10 @@ public class TestManagedStopFilterFactory extends RestTestBase {
@After
private void after() throws Exception {
- jetty.stop();
- jetty = null;
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
System.clearProperty("managed.schema.mutable");
System.clearProperty("enable.update.log");
diff --git a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymFilterFactory.java b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymFilterFactory.java
index 4b8e663..603249b 100644
--- a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymFilterFactory.java
+++ b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymFilterFactory.java
@@ -61,9 +61,14 @@ public class TestManagedSynonymFilterFactory extends RestTestBase {
@After
private void after() throws Exception {
- jetty.stop();
- jetty = null;
- FileUtils.deleteDirectory(tmpSolrHome);
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
+ if (null != tmpSolrHome) {
+ FileUtils.deleteDirectory(tmpSolrHome);
+ tmpSolrHome = null;
+ }
System.clearProperty("managed.schema.mutable");
System.clearProperty("enable.update.log");
diff --git a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
index b1be2dd..fc1e735 100644
--- a/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
+++ b/solr/core/src/test/org/apache/solr/rest/schema/analysis/TestManagedSynonymGraphFilterFactory.java
@@ -63,9 +63,13 @@ public class TestManagedSynonymGraphFilterFactory extends RestTestBase {
@After
private void after() throws Exception {
- jetty.stop();
- jetty = null;
- FileUtils.deleteDirectory(tmpSolrHome);
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
+ if (null != tmpSolrHome) {
+ FileUtils.deleteDirectory(tmpSolrHome);
+ }
System.clearProperty("managed.schema.mutable");
System.clearProperty("enable.update.log");
diff --git a/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java b/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
index 0899077..ae205ac 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
@@ -97,8 +97,10 @@ public class TestManagedSchemaThreadSafety extends SolrTestCaseJ4 {
@AfterClass
public static void stopZkServer() throws Exception {
- zkServer.shutdown();
- zkServer = null;
+ if (null != zkServer) {
+ zkServer.shutdown();
+ zkServer = null;
+ }
loaderPath = null;
}
diff --git a/solr/core/src/test/org/apache/solr/schema/TestUseDocValuesAsStored.java b/solr/core/src/test/org/apache/solr/schema/TestUseDocValuesAsStored.java
index 25e8ff1..899212a 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestUseDocValuesAsStored.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestUseDocValuesAsStored.java
@@ -109,7 +109,6 @@ public class TestUseDocValuesAsStored extends AbstractBadConfigTestBase {
@After
private void afterTest() throws Exception {
clearIndex();
- assertU(commit());
deleteCore();
System.clearProperty("managed.schema.mutable");
System.clearProperty("enable.update.log");
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
index f72adb6..70f4ad2 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
@@ -184,7 +184,10 @@ public class TestCloudJSONFacetJoinDomain extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
client.close();
}
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java
index 28f0990..32f3708 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java
@@ -206,7 +206,10 @@ public class TestCloudJSONFacetSKG extends SolrCloudTestCase {
@AfterClass
private static void afterClass() throws Exception {
- CLOUD_CLIENT.close(); CLOUD_CLIENT = null;
+ if (null != CLOUD_CLIENT) {
+ CLOUD_CLIENT.close();
+ CLOUD_CLIENT = null;
+ }
for (HttpSolrClient client : CLIENTS) {
client.close();
}
diff --git a/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java b/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
index 7cd1cd0..ac94eb7 100644
--- a/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
+++ b/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
@@ -209,7 +209,9 @@ public class TestOrdValues extends SolrTestCase {
@AfterClass
public static void afterClassFunctionTestSetup() throws Exception {
- dir.close();
+ if (null != dir) {
+ dir.close();
+ }
dir = null;
anlzr = null;
}
diff --git a/solr/core/src/test/org/apache/solr/search/join/BlockJoinFacetRandomTest.java b/solr/core/src/test/org/apache/solr/search/join/BlockJoinFacetRandomTest.java
index 21ec780..1b2e37b 100644
--- a/solr/core/src/test/org/apache/solr/search/join/BlockJoinFacetRandomTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/BlockJoinFacetRandomTest.java
@@ -178,9 +178,11 @@ public class BlockJoinFacetRandomTest extends SolrTestCaseJ4 {
@AfterClass
public static void cleanUp() throws Exception {
- assertU(delQ("*:*"));
- optimize();
- assertU((commit()));
+ if (null != h) {
+ assertU(delQ("*:*"));
+ optimize();
+ assertU((commit()));
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/search/mlt/CloudMLTQParserTest.java b/solr/core/src/test/org/apache/solr/search/mlt/CloudMLTQParserTest.java
index 5a1bc1f..f6968c5 100644
--- a/solr/core/src/test/org/apache/solr/search/mlt/CloudMLTQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/mlt/CloudMLTQParserTest.java
@@ -90,7 +90,9 @@ public class CloudMLTQParserTest extends SolrCloudTestCase {
@After
public void cleanCluster() throws Exception {
- cluster.shutdown();
+ if (null != cluster) {
+ cluster.shutdown();
+ }
}
public static final String COLLECTION = "mlt-collection";
diff --git a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
index fc0da65..4e6fad2 100644
--- a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
@@ -87,7 +87,9 @@ public class AuditLoggerIntegrationTest extends SolrCloudAuthTestCase {
@Override
@After
public void tearDown() throws Exception {
- testHarness.get().close();
+ if (null != testHarness.get()) {
+ testHarness.get().close();
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/security/AuditLoggerPluginTest.java b/solr/core/src/test/org/apache/solr/security/AuditLoggerPluginTest.java
index 7ee47dd..738a24d 100644
--- a/solr/core/src/test/org/apache/solr/security/AuditLoggerPluginTest.java
+++ b/solr/core/src/test/org/apache/solr/security/AuditLoggerPluginTest.java
@@ -107,7 +107,10 @@ public class AuditLoggerPluginTest extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- plugin.close();
+ if (null != plugin) {
+ plugin.close();
+ plugin = null;
+ }
super.tearDown();
}
@@ -173,4 +176,4 @@ public class AuditLoggerPluginTest extends SolrTestCaseJ4 {
plugin.formatter.formatEvent(EVENT_AUTHENTICATED));
}
-}
\ No newline at end of file
+}
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
index 0f3e140..53dc18f 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthStandaloneTest.java
@@ -76,7 +76,10 @@ public class BasicAuthStandaloneTest extends SolrTestCaseJ4 {
@Override
@After
public void tearDown() throws Exception {
- jetty.stop();
+ if (null != jetty) {
+ jetty.stop();
+ jetty = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
index 3066ef8..e5cb38c 100644
--- a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
+++ b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
@@ -137,7 +137,10 @@ public class JWTAuthPluginTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- plugin.close();
+ if (null != plugin) {
+ plugin.close();
+ plugin = null;
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/security/SolrLogAuditLoggerPluginTest.java b/solr/core/src/test/org/apache/solr/security/SolrLogAuditLoggerPluginTest.java
index 40df3da..a98a9eb 100644
--- a/solr/core/src/test/org/apache/solr/security/SolrLogAuditLoggerPluginTest.java
+++ b/solr/core/src/test/org/apache/solr/security/SolrLogAuditLoggerPluginTest.java
@@ -67,6 +67,9 @@ public class SolrLogAuditLoggerPluginTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- plugin.close();
+ if (null != plugin) {
+ plugin.close();
+ plugin = null;
+ }
}
-}
\ No newline at end of file
+}
diff --git a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
index 8a3c032..639a774 100644
--- a/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/servlet/ResponseHeaderTest.java
@@ -51,7 +51,9 @@ public class ResponseHeaderTest extends SolrJettyTestBase {
@AfterClass
public static void afterTest() throws Exception {
- cleanUpJettyHome(solrHomeDirectory);
+ if (null != solrHomeDirectory) {
+ cleanUpJettyHome(solrHomeDirectory);
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java b/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
index bba7cc5..28b1f21f 100644
--- a/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
+++ b/solr/core/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
@@ -129,7 +129,10 @@ public class BlockDirectoryTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- directory.close();
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
index c525f8b..7d39966 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
@@ -126,10 +126,14 @@ public class TestFieldCache extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
unicodeStrings = null;
multiValued = null;
}
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestLegacyFieldCache.java b/solr/core/src/test/org/apache/solr/uninverting/TestLegacyFieldCache.java
index ebb9f41..ef00dc1 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestLegacyFieldCache.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestLegacyFieldCache.java
@@ -95,10 +95,14 @@ public class TestLegacyFieldCache extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
public void test() throws IOException {
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
index 2955b91..70451c0 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
@@ -107,11 +107,15 @@ public class TestNumericTerms32 extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
searcher = null;
- TestUtil.checkReader(reader);
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ TestUtil.checkReader(reader);
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
private void testSorting(int precisionStep) throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
index d8b5a6a..228503e 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
@@ -112,11 +112,15 @@ public class TestNumericTerms64 extends SolrTestCase {
@AfterClass
public static void afterClass() throws Exception {
searcher = null;
- TestUtil.checkReader(reader);
- reader.close();
- reader = null;
- directory.close();
- directory = null;
+ if (null != reader) {
+ TestUtil.checkReader(reader);
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
}
private void testSorting(int precisionStep) throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
index ba82698..00a6a8d 100644
--- a/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
+++ b/solr/core/src/test/org/apache/solr/update/AddBlockUpdateTest.java
@@ -153,9 +153,10 @@ public class AddBlockUpdateTest extends SolrTestCaseJ4 {
@AfterClass
public static void afterClass() throws Exception {
- exe.shutdownNow();
-
- exe = null;
+ if (null != exe) {
+ exe.shutdownNow();
+ exe = null;
+ }
inputFactory = null;
}
diff --git a/solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java b/solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java
index 36298b5..30e9141 100644
--- a/solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java
+++ b/solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java
@@ -96,8 +96,10 @@ public class MaxSizeAutoCommitTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
- monitor.assertSaneOffers();
- monitor.clear();
+ if (null != monitor) {
+ monitor.assertSaneOffers();
+ monitor.clear();
+ }
super.tearDown();
System.clearProperty("solr.ulog");
deleteCore();
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 0965e3c..3abf048 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,7 +40,6 @@ 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;
@@ -80,13 +79,10 @@ public class CategoryRoutedAliasUpdateProcessorTest extends RoutedAliasUpdatePro
@After
public void doAfter() throws Exception {
- solrClient.close();
- shutdownCluster();
- }
-
- @AfterClass
- public static void finish() throws Exception {
IOUtils.close(solrClient);
+ if (null != cluster) {
+ shutdownCluster();
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/update/processor/ClassificationUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/ClassificationUpdateProcessorTest.java
index 2c5dddc..b6d4fc6 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/ClassificationUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/ClassificationUpdateProcessorTest.java
@@ -73,9 +73,18 @@ public class ClassificationUpdateProcessorTest extends SolrTestCaseJ4 {
@Override
public void tearDown() throws Exception {
- reader.close();
- directory.close();
- analyzer.close();
+ if (null != reader) {
+ reader.close();
+ reader = null;
+ }
+ if (null != directory) {
+ directory.close();
+ directory = null;
+ }
+ if (null != analyzer) {
+ analyzer.close();
+ analyzer = null;
+ }
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java
index 1e2afff..5294522 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java
@@ -90,7 +90,9 @@ public class TimeRoutedAliasUpdateProcessorTest extends RoutedAliasUpdateProcess
@After
public void doAfter() throws Exception {
- solrClient.close();
+ if (null != solrClient) {
+ solrClient.close();
+ }
shutdownCluster();
}
diff --git a/solr/core/src/test/org/apache/solr/util/AuthToolTest.java b/solr/core/src/test/org/apache/solr/util/AuthToolTest.java
index 4325bf5..b35dc12 100644
--- a/solr/core/src/test/org/apache/solr/util/AuthToolTest.java
+++ b/solr/core/src/test/org/apache/solr/util/AuthToolTest.java
@@ -52,7 +52,10 @@ public class AuthToolTest extends SolrCloudTestCase {
@After
public void tearDown() throws Exception {
super.tearDown();
- org.apache.commons.io.FileUtils.deleteDirectory(dir.toFile());
+ if (null != dir) {
+ org.apache.commons.io.FileUtils.deleteDirectory(dir.toFile());
+ dir = null;
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/util/UtilsToolTest.java b/solr/core/src/test/org/apache/solr/util/UtilsToolTest.java
index 0ac3591..ee4bb94 100644
--- a/solr/core/src/test/org/apache/solr/util/UtilsToolTest.java
+++ b/solr/core/src/test/org/apache/solr/util/UtilsToolTest.java
@@ -77,7 +77,10 @@ public class UtilsToolTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
super.tearDown();
- org.apache.commons.io.FileUtils.deleteDirectory(dir.toFile());
+ if (null != dir) {
+ org.apache.commons.io.FileUtils.deleteDirectory(dir.toFile());
+ dir = null;
+ }
}
@Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientConPoolTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientConPoolTest.java
index 57e3812..1987255 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientConPoolTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientConPoolTest.java
@@ -58,8 +58,10 @@ public class HttpSolrClientConPoolTest extends SolrJettyTestBase {
@AfterClass
public static void stopYetty() throws Exception {
- yetty.stop();
- yetty = null;
+ if (null != yetty) {
+ yetty.stop();
+ yetty = null;
+ }
}
public void testPoolSize() throws SolrServerException, IOException {
diff --git a/solr/solrj/src/test/org/apache/solr/common/cloud/TestCollectionStateWatchers.java b/solr/solrj/src/test/org/apache/solr/common/cloud/TestCollectionStateWatchers.java
index f97b537..ab3dc95 100644
--- a/solr/solrj/src/test/org/apache/solr/common/cloud/TestCollectionStateWatchers.java
+++ b/solr/solrj/src/test/org/apache/solr/common/cloud/TestCollectionStateWatchers.java
@@ -58,7 +58,9 @@ public class TestCollectionStateWatchers extends SolrCloudTestCase {
@After
public void tearDownCluster() throws Exception {
- executor.shutdown();
+ if (null != executor) {
+ executor.shutdown();
+ }
shutdownCluster();
executor = null;
}
diff --git a/solr/solrj/src/test/org/apache/solr/common/cloud/TestDocCollectionWatcher.java b/solr/solrj/src/test/org/apache/solr/common/cloud/TestDocCollectionWatcher.java
index f024a1c..22d687e 100644
--- a/solr/solrj/src/test/org/apache/solr/common/cloud/TestDocCollectionWatcher.java
+++ b/solr/solrj/src/test/org/apache/solr/common/cloud/TestDocCollectionWatcher.java
@@ -59,7 +59,9 @@ public class TestDocCollectionWatcher extends SolrCloudTestCase {
@After
public void tearDownCluster() throws Exception {
- executor.shutdown();
+ if (null!= executor) {
+ executor.shutdown();
+ }
shutdownCluster();
executor = null;
}
diff --git a/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java b/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
index 961d7a9..8c75b5b 100644
--- a/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
+++ b/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
@@ -49,7 +49,9 @@ public class TestZkConfigManager extends SolrTestCaseJ4 {
@AfterClass
public static void shutdownZkServer() throws IOException, InterruptedException {
- zkServer.shutdown();
+ if (null != zkServer) {
+ zkServer.shutdown();
+ }
zkServer = null;
}
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
index 4b50a1a..c4c40e7 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
@@ -22,9 +22,13 @@ import java.lang.invoke.MethodHandles;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.util.StartupLoggingUtils;
import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static com.carrotsearch.randomizedtesting.RandomizedTest.systemPropertyAsBoolean;
+
/**
* All Solr test cases should derive from this class eventually. This is originally a result of async logging, see:
* SOLR-12055 and associated. To enable async logging, we must gracefully shut down logging. Many Solr tests subclass
@@ -41,6 +45,32 @@ public class SolrTestCase extends LuceneTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ /**
+ * Special hook for sanity checking if any tests trigger failures when an
+ * Assumption failure occures in a {@link BeforeClass} method
+ * @lucene.internal
+ */
+ @BeforeClass
+ public static void checkSyspropForceBeforeClassAssumptionFailure() {
+ // ant test -Dargs="-Dtests.force.assumption.failure.beforeclass=true"
+ final String PROP = "tests.force.assumption.failure.beforeclass";
+ assumeFalse(PROP + " == true",
+ systemPropertyAsBoolean(PROP, false));
+ }
+
+ /**
+ * Special hook for sanity checking if any tests trigger failures when an
+ * Assumption failure occures in a {@link Before} method
+ * @lucene.internal
+ */
+ @Before
+ public void checkSyspropForceBeforeAssumptionFailure() {
+ // ant test -Dargs="-Dtests.force.assumption.failure.before=true"
+ final String PROP = "tests.force.assumption.failure.before";
+ assumeFalse(PROP + " == true",
+ systemPropertyAsBoolean(PROP, false));
+ }
+
@AfterClass
public static void shutdownLogger() throws Exception {
StartupLoggingUtils.shutdown();
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index f0d1a2c..820a2d9 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -325,7 +325,9 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
log.error("Error deleting SolrCore.");
}
- ExecutorUtil.shutdownAndAwaitTermination(testExecutor);
+ if (null != testExecutor) {
+ ExecutorUtil.shutdownAndAwaitTermination(testExecutor);
+ }
resetExceptionIgnores();
@@ -1286,6 +1288,11 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
* @see #deleteByQueryAndGetVersion
*/
public void clearIndex() {
+ if (null == h) {
+ // harness not initialized, treat as No-Op so safe to call in cleanup methods
+ // even if no tests run
+ return;
+ }
try {
deleteByQueryAndGetVersion("*:*", params("_version_", Long.toString(-Long.MAX_VALUE),
DISTRIB_UPDATE_PARAM,DistribPhase.FROMLEADER.toString()));