You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by kr...@apache.org on 2022/10/28 15:21:47 UTC
[solr] 06/12: SOLR-16427: Evaluate and fix errorprone rules - CatchAndPrintStackTrace
This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
commit 23f3631e25fca93509d7cc49d2bacb2823430632
Author: Kevin Risden <kr...@apache.org>
AuthorDate: Tue Oct 25 15:06:53 2022 -0400
SOLR-16427: Evaluate and fix errorprone rules - CatchAndPrintStackTrace
---
gradle/validation/error-prone.gradle | 1 -
.../src/java/org/apache/solr/bench/Docs.java | 6 +++++-
.../solr/client/solrj/impl/ConnectionReuseTest.java | 6 +++++-
.../ChaosMonkeySafeLeaderWithPullReplicasTest.java | 3 +--
.../apache/solr/cloud/ChaosMonkeyShardSplitTest.java | 4 ++--
.../org/apache/solr/cloud/DeleteReplicaTest.java | 4 ++--
.../org/apache/solr/cloud/LeaderElectionTest.java | 5 ++---
.../src/test/org/apache/solr/cloud/OverseerTest.java | 14 +++++++-------
.../test/org/apache/solr/cloud/TestTlogReplica.java | 3 ++-
.../solr/cloud/TrollingIndexReaderFactory.java | 10 +++++++---
.../test/org/apache/solr/cloud/ZkFailoverTest.java | 7 ++++++-
.../test/org/apache/solr/cloud/ZkShardTermsTest.java | 7 ++++++-
.../collections/TestRequestStatusCollectionAPI.java | 20 ++++++++++++--------
.../handler/TestSolrConfigHandlerConcurrent.java | 2 +-
.../solr/handler/TestStressIncrementalBackup.java | 3 ++-
.../apache/solr/handler/admin/MBeansHandlerTest.java | 8 +++++++-
.../org/apache/solr/schema/PreAnalyzedFieldTest.java | 6 +++++-
.../src/test/org/apache/solr/search/TestSolrJ.java | 9 ++++++---
.../processor/RoutedAliasUpdateProcessorTest.java | 7 ++++++-
.../TimeRoutedAliasUpdateProcessorTest.java | 2 +-
.../org/apache/solr/util/OrderedExecutorTest.java | 3 ++-
solr/modules/analytics/build.gradle | 1 +
.../legacy/LegacyAbstractAnalyticsTest.java | 12 ++++++------
.../apache/solr/hdfs/store/HdfsDirectoryTest.java | 6 +++++-
.../solr/hdfs/store/blockcache/BlockCacheTest.java | 8 ++++++--
.../hdfs/store/blockcache/BlockDirectoryTest.java | 6 +++++-
.../solr/client/solrj/LargeVolumeTestBase.java | 2 +-
.../org/apache/solr/client/solrj/StartSolrJetty.java | 7 ++++++-
.../client/solrj/embedded/SolrExampleJettyTest.java | 6 +++++-
.../solrj/impl/ConcurrentUpdateSolrClientTest.java | 6 +++++-
.../org/apache/solr/common/params/SolrParamTest.java | 6 +++++-
.../apache/solr/common/util/TestJavaBinCodec.java | 6 +++++-
solr/solrj/src/test/org/noggit/TestJSONParser.java | 9 ++++++---
.../cloud/AbstractBasicDistributedZkTestBase.java | 6 +++---
.../cloud/AbstractChaosMonkeySafeLeaderTestBase.java | 8 ++++++--
.../solr/cloud/AbstractFullDistribZkTestBase.java | 18 ++++--------------
.../apache/solr/cloud/AbstractSyncSliceTestBase.java | 7 ++++++-
.../src/java/org/apache/solr/cloud/ChaosMonkey.java | 8 +++-----
.../apache/solr/cloud/StoppableIndexingThread.java | 17 +++++++++--------
.../org/apache/solr/cloud/StoppableSearchThread.java | 6 ++----
.../src/java/org/apache/solr/cloud/ZkTestServer.java | 2 +-
.../collections/AbstractIncrementalBackupTest.java | 6 +++---
42 files changed, 180 insertions(+), 103 deletions(-)
diff --git a/gradle/validation/error-prone.gradle b/gradle/validation/error-prone.gradle
index 91af1e2fd0f..64c906442ac 100644
--- a/gradle/validation/error-prone.gradle
+++ b/gradle/validation/error-prone.gradle
@@ -69,7 +69,6 @@ allprojects { prj ->
'-Xep:UseCorrectAssertInTests:OFF', // and this is a consequence of the above
'-Xep:CatchFail:OFF', // our code is generally descriptive enough, fix case by case if tests fail
'-Xep:JUnit4TestNotRun:OFF', // RandomizedRunner finds unannotated test methods no problem
- '-Xep:CatchAndPrintStackTrace:OFF', // TODO: there's a lot of these but they should be easy to address
'-Xep:StaticAssignmentInConstructor:OFF', // we assign SolrTestCaseJ4.configString in many tests, difficult to untangle
'-Xep:ComparableType:OFF', // SolrTestCaseJ4.Doc and Fld are messy
diff --git a/solr/benchmark/src/java/org/apache/solr/bench/Docs.java b/solr/benchmark/src/java/org/apache/solr/bench/Docs.java
index eb96ca3c4e3..39efea9ec2f 100644
--- a/solr/benchmark/src/java/org/apache/solr/bench/Docs.java
+++ b/solr/benchmark/src/java/org/apache/solr/bench/Docs.java
@@ -18,6 +18,7 @@ package org.apache.solr.bench;
import static org.apache.solr.bench.BaseBenchState.log;
+import java.lang.invoke.MethodHandles;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -37,6 +38,8 @@ import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.common.util.SuppressForbidden;
import org.quicktheories.core.Gen;
import org.quicktheories.impl.BenchmarkRandomSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A tool to generate controlled random data for a benchmark. {@link SolrInputDocument}s are created
@@ -47,6 +50,7 @@ import org.quicktheories.impl.BenchmarkRandomSource;
* them via {@link #generatedDocsIterator}.
*/
public class Docs {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final ThreadLocal<SolrRandomnessSource> random;
private final Queue<SolrInputDocument> docs = new ConcurrentLinkedQueue<>();
@@ -113,7 +117,7 @@ public class Docs {
SolrInputDocument doc = Docs.this.inputDocument();
docs.add(doc);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error adding doc", e);
executorService.shutdownNow();
throw new RuntimeException(e);
}
diff --git a/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java b/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
index 3faccde0198..837f6015983 100644
--- a/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
+++ b/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
@@ -17,6 +17,7 @@
package org.apache.solr.client.solrj.impl;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.net.URL;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
@@ -44,9 +45,12 @@ import org.apache.solr.update.AddUpdateCommand;
import org.apache.solr.util.TestInjection;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@SuppressSSL
public class ConnectionReuseTest extends SolrCloudTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private AtomicInteger id = new AtomicInteger();
private HttpClientContext context = HttpClientContext.create();
@@ -124,7 +128,7 @@ public class ConnectionReuseTest extends SolrCloudTestCase {
try {
client.add(c.solrDoc);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error adding doc", e);
}
if (!done
&& i > 0
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
index 5469fac6ab4..764035dc043 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderWithPullReplicasTest.java
@@ -266,8 +266,7 @@ public class ChaosMonkeySafeLeaderWithPullReplicasTest extends AbstractFullDistr
del("*:*");
break;
} catch (SolrServerException | SolrException e) {
- // cluster may not be up yet
- e.printStackTrace();
+ log.error("cluster may not be up yet", e);
}
Thread.sleep(100);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
index edbcd5c15fd..8baa2c5880c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
@@ -191,13 +191,13 @@ public class ChaosMonkeyShardSplitTest extends ShardSplitTest {
overseerClient.close();
overseerClient = electNewOverseer(zkAddress);
} catch (Exception e) {
- // e.printStackTrace();
+ log.error("error killing overseer", e);
}
}
try {
Thread.sleep(100);
} catch (Exception e) {
- // e.printStackTrace();
+ log.error("error during sleep", e);
}
}
} catch (Exception t) {
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
index 60a31677adf..e12f9b836a1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
@@ -394,7 +394,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
}
Thread.sleep(500);
} catch (NullPointerException | SolrException e) {
- e.printStackTrace();
+ log.error("error deleting replica", e);
Thread.sleep(500);
}
}
@@ -402,7 +402,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
fail("Timeout for waiting replica get deleted");
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Failed to delete replica", e);
fail("Failed to delete replica");
} finally {
// avoiding deadlock
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
index 8dd949c410b..4136c8f8a89 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
@@ -537,12 +537,11 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
server.expire(zk.getSessionId());
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error expiring session", e);
}
Thread.sleep(500);
-
} catch (Exception e) {
-
+ log.error("error expiring session", e);
}
}
});
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 aa9503182ee..039890921c1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -1087,13 +1087,13 @@ public class OverseerTest extends SolrTestCaseJ4 {
overseerClient.close();
overseerClient = electNewOverseer(zkAddress);
} catch (Throwable e) {
- // e.printStackTrace();
+ log.error("error killing overseer", e);
}
}
try {
Thread.sleep(100);
} catch (Throwable e) {
- // e.printStackTrace();
+ log.error("error during sleep", e);
}
}
} catch (Throwable t) {
@@ -1229,7 +1229,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
q.offer(Utils.toJSON(m));
break;
} catch (SolrException | KeeperException | AlreadyClosedException e) {
- e.printStackTrace();
+ log.error("error updating state", e);
}
}
@@ -1247,7 +1247,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
getOpenOverseer());
break;
} catch (SolrException | KeeperException | AlreadyClosedException e) {
- e.printStackTrace();
+ log.error("error publishing state", e);
}
}
@@ -1272,7 +1272,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
getOpenOverseer());
break;
} catch (SolrException | AlreadyClosedException e) {
- e.printStackTrace();
+ log.error("error publishing state", e);
}
}
@@ -1292,7 +1292,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
getOpenOverseer());
break;
} catch (SolrException | AlreadyClosedException e) {
- e.printStackTrace();
+ log.error("error publishing state", e);
}
}
@@ -1312,7 +1312,7 @@ public class OverseerTest extends SolrTestCaseJ4 {
getOpenOverseer());
break;
} catch (SolrException | AlreadyClosedException e) {
- e.printStackTrace();
+ log.error("error publishing state", e);
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
index 6bf85bd7aaf..84ee46e85ae 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
@@ -679,7 +679,8 @@ public class TestTlogReplica extends SolrCloudTestCase {
waitingForReplay.release();
waitingForBufferUpdates.acquire();
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
fail("Test interrupted: " + e.getMessage());
}
};
diff --git a/solr/core/src/test/org/apache/solr/cloud/TrollingIndexReaderFactory.java b/solr/core/src/test/org/apache/solr/cloud/TrollingIndexReaderFactory.java
index 99e8fe674ae..ff2d715f260 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TrollingIndexReaderFactory.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TrollingIndexReaderFactory.java
@@ -18,6 +18,7 @@ package org.apache.solr.cloud;
import java.io.Closeable;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.Date;
@@ -35,8 +36,11 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.tests.util.LuceneTestCase;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.StandardIndexReaderFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TrollingIndexReaderFactory extends StandardIndexReaderFactory {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static volatile Trap trap;
private static final BlockingQueue<List<Object>> lastStacktraces =
@@ -191,8 +195,7 @@ public class TrollingIndexReaderFactory extends StandardIndexReaderFactory {
private static void recordStackTrace(StackTraceElement[] stackTrace) {
// keep the last n limited traces.
- // e.printStackTrace();
- ArrayList<Object> stack = new ArrayList<Object>();
+ ArrayList<Object> stack = new ArrayList<>();
stack.add(
"" + (new Date().getTime() - startTime) + " (" + Thread.currentThread().getName() + ")");
for (int l = 2; l < stackTrace.length && l < keepStackTraceLines; l++) {
@@ -204,7 +207,8 @@ public class TrollingIndexReaderFactory extends StandardIndexReaderFactory {
try {
lastStacktraces.poll(100, TimeUnit.MILLISECONDS);
} catch (InterruptedException e1) {
- e1.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e1);
}
}
}
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 b295b4f097a..ecdd4f30193 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkFailoverTest.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud;
+import java.lang.invoke.MethodHandles;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -27,8 +28,12 @@ import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.zookeeper.KeeperException;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ZkFailoverTest extends SolrCloudTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
private ZkTestServer zkTestServer;
@BeforeClass
@@ -82,7 +87,7 @@ public class ZkFailoverTest extends SolrCloudTestCase {
try {
runner.start();
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error starting runner", e);
}
});
threads[i].start();
diff --git a/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java b/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
index 6570a4a87bd..ead1a49e6ea 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ZkShardTermsTest.java
@@ -18,6 +18,7 @@
package org.apache.solr.cloud;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -35,8 +36,11 @@ import org.apache.solr.common.util.TimeSource;
import org.apache.solr.util.TimeOut;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ZkShardTermsTest extends SolrCloudTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@BeforeClass
public static void setupCluster() throws Exception {
@@ -223,7 +227,8 @@ public class ZkShardTermsTest extends SolrCloudTestCase {
Thread.sleep(random().nextInt(200));
zkShardTerms.setTermEqualsToLeader(replica);
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
}
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestRequestStatusCollectionAPI.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestRequestStatusCollectionAPI.java
index 543d53b9f04..36e1e4e81f6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestRequestStatusCollectionAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestRequestStatusCollectionAPI.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud.api.collections;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.Map;
import org.apache.solr.client.solrj.SolrClient;
@@ -30,8 +31,11 @@ import org.apache.solr.common.params.CommonAdminParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public static final int MAX_WAIT_TIMEOUT_SECONDS = 90;
@@ -55,7 +59,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
try {
sendRequest(params);
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
// Check for the request to be completed.
@@ -74,7 +78,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
createResponse = sendStatusRequestWithRetry(params, MAX_WAIT_TIMEOUT_SECONDS);
message = (String) createResponse.findRecursive("status", "msg");
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
assertEquals("found [1000] in completed tasks", message);
@@ -92,7 +96,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
status = (NamedList<?>) r.get("status");
message = (String) status.get("msg");
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
assertEquals("Did not find [9999999] in any tasks queue", message);
@@ -105,7 +109,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
try {
sendRequest(params);
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
// Check for the request to be completed.
@@ -117,7 +121,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
splitResponse = sendStatusRequestWithRetry(params, MAX_WAIT_TIMEOUT_SECONDS);
message = (String) splitResponse.findRecursive("status", "msg");
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
assertEquals("found [1001] in completed tasks", message);
@@ -137,7 +141,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
try {
sendRequest(params);
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
params = new ModifiableSolrParams();
@@ -149,7 +153,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
NamedList<Object> response = sendStatusRequestWithRetry(params, MAX_WAIT_TIMEOUT_SECONDS);
message = (String) response.findRecursive("status", "msg");
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
assertEquals("found [1002] in failed tasks", message);
@@ -164,7 +168,7 @@ public class TestRequestStatusCollectionAPI extends BasicDistributedZkTest {
try {
r = sendRequest(params);
} catch (SolrServerException | IOException e) {
- e.printStackTrace();
+ log.error("error sending request", e);
}
assertEquals("Task with the same requestid already exists. (1002)", r.get("error"));
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
index ff824632b31..91cc9685062 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
@@ -74,7 +74,7 @@ public class TestSolrConfigHandlerConcurrent extends AbstractFullDistribZkTestBa
try {
invokeBulkCall((String) e.getKey(), errs);
} catch (Exception e1) {
- e1.printStackTrace();
+ log.error("error invoking bulk call", e1);
}
});
threads.add(t);
diff --git a/solr/core/src/test/org/apache/solr/handler/TestStressIncrementalBackup.java b/solr/core/src/test/org/apache/solr/handler/TestStressIncrementalBackup.java
index 3b34120953e..58286fec3de 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestStressIncrementalBackup.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestStressIncrementalBackup.java
@@ -181,7 +181,8 @@ public class TestStressIncrementalBackup extends SolrCloudTestCase {
RequestStatusState state = backup.processAndWait(cluster.getSolrClient(), 1000);
assertEquals(RequestStatusState.COMPLETED, state);
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
}
} else {
CollectionAdminResponse rsp = backup.process(cluster.getSolrClient());
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java
index b074f84da43..c4fa6c35e2e 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MBeansHandlerTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.handler.admin;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -33,8 +34,11 @@ import org.apache.solr.metrics.SolrMetricsContext;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class MBeansHandlerTest extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@BeforeClass
public static void beforeClass() throws Exception {
@@ -203,12 +207,14 @@ public class MBeansHandlerTest extends SolrTestCaseJ4 {
bean.getSolrMetricsContext().getMetricsSnapshot();
} catch (Exception e) {
runSnapshots = false;
- e.printStackTrace();
+ log.error("Exception getting metrics snapshot", e);
fail("Exception getting metrics snapshot: " + e);
}
try {
Thread.sleep(53);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
runSnapshots = false;
break;
}
diff --git a/solr/core/src/test/org/apache/solr/schema/PreAnalyzedFieldTest.java b/solr/core/src/test/org/apache/solr/schema/PreAnalyzedFieldTest.java
index 69d7b19a51b..f7e40cd575b 100644
--- a/solr/core/src/test/org/apache/solr/schema/PreAnalyzedFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/PreAnalyzedFieldTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.schema;
+import java.lang.invoke.MethodHandles;
import java.util.Collections;
import java.util.HashMap;
import org.apache.lucene.analysis.Analyzer;
@@ -26,8 +27,11 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.schema.PreAnalyzedField.PreAnalyzedParser;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class PreAnalyzedFieldTest extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String[] valid = {
"1 one two three", // simple parsing
@@ -112,7 +116,7 @@ public class PreAnalyzedFieldTest extends SolrTestCaseJ4 {
// System.out.println(" - toString: '" + sb.toString() + "'");
assertEquals(validParsed[i], parser.toFormattedString(f));
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Should pass: '{}', exception", s, e);
fail("Should pass: '" + s + "', exception: " + e);
}
}
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrJ.java b/solr/core/src/test/org/apache/solr/search/TestSolrJ.java
index 398329ea641..c131f075813 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrJ.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrJ.java
@@ -17,6 +17,7 @@
package org.apache.solr.search;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -27,8 +28,11 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.util.RTimer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TestSolrJ extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public void testSolrJ() {
// docs, producers, connections, sleep_time
@@ -76,8 +80,7 @@ public class TestSolrJ extends SolrTestCaseJ4 {
try {
indexDocs(base, docsPerThread, maxSleep);
} catch (Exception e) {
- System.out.println("###############################CAUGHT EXCEPTION");
- e.printStackTrace();
+ log.error("###############################CAUGHT EXCEPTION", e);
ex = e;
}
}
@@ -154,7 +157,7 @@ public class TestSolrJ extends SolrTestCaseJ4 {
Thread.sleep(sleep);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
- e.printStackTrace();
+ log.error("interrupted", e);
throw new RuntimeException(e);
}
}
diff --git a/solr/core/src/test/org/apache/solr/update/processor/RoutedAliasUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/RoutedAliasUpdateProcessorTest.java
index 6f3f08efb48..3e6e328e9fe 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/RoutedAliasUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/RoutedAliasUpdateProcessorTest.java
@@ -20,6 +20,7 @@ package org.apache.solr.update.processor;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -59,11 +60,14 @@ import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.update.UpdateCommand;
import org.junit.Ignore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@org.apache.lucene.tests.util.LuceneTestCase.AwaitsFix(
bugUrl = "https://issues.apache.org/jira/browse/SOLR-13696")
@Ignore // don't try to run abstract base class
public abstract class RoutedAliasUpdateProcessorTest extends SolrCloudTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String intField = "integer_i";
@@ -267,7 +271,8 @@ public abstract class RoutedAliasUpdateProcessorTest extends SolrCloudTestCase {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
fail(e.getMessage());
}
}
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 06985502b97..32fb14dbf20 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
@@ -807,7 +807,7 @@ public class TimeRoutedAliasUpdateProcessorTest extends RoutedAliasUpdateProcess
try {
solrClient.query(col, params("q", "*:*", "rows", "10"));
} catch (SolrException e) {
- e.printStackTrace();
+ log.error("Unable to query ", e);
fail("Unable to query " + col);
}
}
diff --git a/solr/core/src/test/org/apache/solr/util/OrderedExecutorTest.java b/solr/core/src/test/org/apache/solr/util/OrderedExecutorTest.java
index f3731645856..4b49baa6e01 100644
--- a/solr/core/src/test/org/apache/solr/util/OrderedExecutorTest.java
+++ b/solr/core/src/test/org/apache/solr/util/OrderedExecutorTest.java
@@ -247,7 +247,8 @@ public class OrderedExecutorTest extends SolrTestCase {
isRunning.countDown();
blockingLatch.await();
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
}
});
diff --git a/solr/modules/analytics/build.gradle b/solr/modules/analytics/build.gradle
index ffcbbb478a1..8289a94b9fe 100644
--- a/solr/modules/analytics/build.gradle
+++ b/solr/modules/analytics/build.gradle
@@ -33,4 +33,5 @@ dependencies {
testImplementation project(':solr:test-framework')
testImplementation 'com.carrotsearch.randomizedtesting:randomizedtesting-runner'
testImplementation 'junit:junit'
+ testImplementation 'org.slf4j:slf4j-api'
}
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsTest.java
index 2b90e139e31..5a75adc982b 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/LegacyAbstractAnalyticsTest.java
@@ -21,6 +21,7 @@ import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.invoke.MethodHandles;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
@@ -41,11 +42,14 @@ import org.apache.solr.analytics.util.OrdinalCalculator;
import org.apache.solr.request.SolrQueryRequest;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class LegacyAbstractAnalyticsTest extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
protected static final String[] BASEPARMS =
new String[] {"q", "*:*", "indent", "true", "olap", "true", "rows", "0"};
@@ -140,12 +144,8 @@ public class LegacyAbstractAnalyticsTest extends SolrTestCaseJ4 {
return val;
}
} catch (Exception e) {
- e.printStackTrace();
- fail(
- "Caught exception in getStatResult, xPath = "
- + sb.toString()
- + " \nraw data: "
- + rawResponse);
+ log.error("Caught exception in getStatResult", e);
+ fail("Caught exception in getStatResult, xPath = " + sb + " \nraw data: " + rawResponse);
}
fail("Unknown type used in getStatResult");
return null; // Really can't get here, but the compiler thinks we can!
diff --git a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
index 780d4c566e4..0a0b9aad759 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
+++ b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.hdfs.store;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.nio.file.FileAlreadyExistsException;
import java.util.HashSet;
import java.util.Random;
@@ -41,6 +42,8 @@ import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@ThreadLeakFilters(
defaultFilters = true,
@@ -52,6 +55,7 @@ import org.junit.Test;
@ThreadLeakLingering(
linger = 1000) // Wait at least 1 second for Netty GlobalEventExecutor to shutdown
public class HdfsDirectoryTest extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final int MAX_NUMBER_OF_WRITES = 10000;
private static final int MIN_FILE_SIZE = 100;
@@ -190,7 +194,7 @@ public class HdfsDirectoryTest extends SolrTestCaseJ4 {
fsDir.close();
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Test failed on pass [{}]", i, e);
fail("Test failed on pass [" + i + "]");
}
}
diff --git a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
index 248e5666887..d4ea63140bb 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
+++ b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
@@ -19,13 +19,17 @@ package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.RemovalCause;
import com.github.benmanes.caffeine.cache.RemovalListener;
+import java.lang.invoke.MethodHandles;
import java.util.Random;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.solr.SolrTestCase;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class BlockCacheTest extends SolrTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@Test
public void testBlockCache() {
@@ -158,7 +162,7 @@ public class BlockCacheTest extends SolrTestCase {
} catch (Throwable e) {
failed.set(true);
- e.printStackTrace();
+ log.error("failure", e);
}
}
@@ -321,7 +325,7 @@ public class BlockCacheTest extends SolrTestCase {
test(readsPerThread);
} catch (Throwable e) {
failed.set(true);
- e.printStackTrace();
+ log.error("failure", e);
}
}
diff --git a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
index 6c2db998113..de3fef8f11c 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
+++ b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.Caffeine;
import java.io.File;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.Map;
import java.util.Random;
import org.apache.lucene.store.Directory;
@@ -32,8 +33,11 @@ import org.apache.solr.SolrTestCaseJ4;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class BlockDirectoryTest extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static class MapperCache implements Cache {
public Map<String, byte[]> map =
@@ -172,7 +176,7 @@ public class BlockDirectoryTest extends SolrTestCaseJ4 {
assertInputsEquals(name, fsDir, directory);
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("Test failed on pass [{}]", i, e);
fail("Test failed on pass [" + i + "]");
}
long t2 = System.nanoTime();
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java b/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
index 9edddebacec..748353b28f0 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
@@ -124,7 +124,7 @@ public abstract class LargeVolumeTestBase extends EmbeddedSolrServerTestBase {
}
} catch (Exception e) {
- e.printStackTrace();
+ log.error("{} failed", getName(), e);
fail(getName() + "---" + e.getMessage());
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java b/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java
index 4e48d0f7e15..ad308589d34 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/StartSolrJetty.java
@@ -16,16 +16,21 @@
*/
package org.apache.solr.client.solrj;
+import java.lang.invoke.MethodHandles;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.webapp.WebAppContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @since solr 1.3
*/
public class StartSolrJetty {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
public static void main(String[] args) {
// System.setProperty("solr.solr.home", "../../../example/solr");
@@ -60,7 +65,7 @@ public class StartSolrJetty {
server.stop();
server.join();
} catch (Exception e) {
- e.printStackTrace();
+ log.error("failed to start", e);
System.exit(100);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
index 611f756ab3d..57a026546f6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
@@ -21,6 +21,7 @@ import static org.apache.solr.common.util.Utils.fromJSONString;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.invoke.MethodHandles;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -46,6 +47,8 @@ import org.apache.solr.common.util.NamedList;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* TODO? perhaps use: http://docs.codehaus.org/display/JETTY/ServletTester rather then open a real
@@ -53,6 +56,7 @@ import org.junit.Test;
*/
@SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
public class SolrExampleJettyTest extends SolrExampleTests {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@BeforeClass
public static void beforeTest() throws Exception {
@@ -158,7 +162,7 @@ public class SolrExampleJettyTest extends SolrExampleTests {
try {
IOUtils.skip(body, 1024 * 1000);
} catch (IOException e) {
- e.printStackTrace();
+ log.error("error skipping body", e);
}
return rsp.getResponse();
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClientTest.java
index 23354a6b870..67d265568c2 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClientTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.impl;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.invoke.MethodHandles;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -43,8 +44,11 @@ import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ConcurrentUpdateSolrClientTest extends SolrJettyTestBase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
/** Mock endpoint where the CUSS being tested in this class sends requests. */
public static class TestServlet extends HttpServlet
@@ -320,7 +324,7 @@ public class ConcurrentUpdateSolrClientTest extends SolrJettyTestBase {
if (this.collection == null) cuss.request(req);
else cuss.request(req, this.collection);
} catch (Throwable t) {
- t.printStackTrace();
+ log.error("error making request", t);
}
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/common/params/SolrParamTest.java b/solr/solrj/src/test/org/apache/solr/common/params/SolrParamTest.java
index 9d8e332b8b5..6ae0e3edd4f 100644
--- a/solr/solrj/src/test/org/apache/solr/common/params/SolrParamTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/params/SolrParamTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.common.params;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -23,9 +24,12 @@ import java.util.List;
import java.util.Map;
import org.apache.solr.SolrTestCase;
import org.apache.solr.common.SolrException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** */
public class SolrParamTest extends SolrTestCase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public void testParamIterators() {
@@ -301,7 +305,7 @@ public class SolrParamTest extends SolrTestCase {
} catch (SolrException sx) {
return sx.code();
} catch (Exception ex) {
- ex.printStackTrace();
+ log.error("error running", ex);
return 500;
}
return 200;
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java b/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
index 545552d40f4..9ce1b6a2f14 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -42,8 +43,11 @@ import org.apache.solr.util.ConcurrentLRUCache;
import org.apache.solr.util.RTimer;
import org.junit.Test;
import org.noggit.CharArr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TestJavaBinCodec extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final String SOLRJ_JAVABIN_BACKCOMPAT_BIN = "/solrj/javabin_backcompat.bin";
private static final String BIN_FILE_LOCATION =
@@ -627,7 +631,7 @@ public class TestJavaBinCodec extends SolrTestCaseJ4 {
try {
doDecode(buffers, iter, stringCache);
} catch (IOException e) {
- e.printStackTrace();
+ log.error("exception decoding", e);
}
});
}
diff --git a/solr/solrj/src/test/org/noggit/TestJSONParser.java b/solr/solrj/src/test/org/noggit/TestJSONParser.java
index e718e90e361..3a6d475256a 100644
--- a/solr/solrj/src/test/org/noggit/TestJSONParser.java
+++ b/solr/solrj/src/test/org/noggit/TestJSONParser.java
@@ -19,10 +19,14 @@ package org.noggit;
import java.io.IOException;
import java.io.StringReader;
+import java.lang.invoke.MethodHandles;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TestJSONParser extends SolrTestCaseJ4 {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
// these are to aid in debugging if an unexpected error occurs
static int parserType;
@@ -277,12 +281,11 @@ public class TestJSONParser extends SolrTestCaseJ4 {
}
} catch (IOException ex) {
// shouldn't happen
- System.out.println(ret); // use ret
+ log.error(String.valueOf(ret)); // use ret
} catch (JSONParser.ParseException ex) {
// OK
} catch (Throwable ex) {
- ex.printStackTrace();
- System.out.println(lastParser());
+ log.error(lastParser(), ex);
throw new RuntimeException(ex);
}
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
index eb5ace81685..e384672c834 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
@@ -1562,7 +1562,7 @@ public abstract class AbstractBasicDistributedZkTestBase extends AbstractFullDis
}
client.request(createCmd);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error creating core", e);
// fail
}
return null;
@@ -1669,7 +1669,7 @@ public abstract class AbstractBasicDistributedZkTestBase extends AbstractFullDis
.process(cloudClient)
.getStatus());
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error creating collection", e);
// fails
}
final List<SolrClient> collectionClients = new ArrayList<>();
@@ -1688,7 +1688,7 @@ public abstract class AbstractBasicDistributedZkTestBase extends AbstractFullDis
.process(cloudClient)
.isSuccess());
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error adding replica", e);
// fails
}
return null;
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractChaosMonkeySafeLeaderTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractChaosMonkeySafeLeaderTestBase.java
index 981c5c717f0..ab765d32699 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractChaosMonkeySafeLeaderTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractChaosMonkeySafeLeaderTestBase.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;
@@ -28,9 +29,13 @@ import org.apache.solr.common.SolrInputDocument;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
@LuceneTestCase.Nightly
public abstract class AbstractChaosMonkeySafeLeaderTestBase extends AbstractFullDistribZkTestBase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
private static final Integer RUN_LENGTH =
Integer.parseInt(System.getProperty("solr.tests.cloud.cm.runlength", "-1"));
@@ -209,8 +214,7 @@ public abstract class AbstractChaosMonkeySafeLeaderTestBase extends AbstractFull
del("*:*");
break;
} catch (SolrServerException e) {
- // cluster may not be up yet
- e.printStackTrace();
+ log.error("cluster may not be up yet", e);
}
Thread.sleep(100);
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index 43f8376fac7..4a3c47474eb 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -495,11 +495,8 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
SolrClient client = createNewSolrClient(j.getLocalPort());
clients.add(client);
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error creating jetty", e);
throw new RuntimeException(e);
}
});
@@ -537,11 +534,8 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
coreClients.add(createNewSolrClient(coreName, j.getLocalPort()));
SolrClient client = createNewSolrClient(j.getLocalPort());
clients.add(client);
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error creating jetty", e);
throw new RuntimeException(e);
}
});
@@ -577,11 +571,8 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
coreClients.add(createNewSolrClient(coreName, j.getLocalPort()));
SolrClient client = createNewSolrClient(j.getLocalPort());
clients.add(client);
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
} catch (Exception e) {
- e.printStackTrace();
+ log.error("error creating jetty", e);
throw new RuntimeException(e);
}
});
@@ -1925,8 +1916,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
try {
commit();
} catch (Throwable t) {
- t.printStackTrace();
- // we don't care if this commit fails on some nodes
+ log.error("we don't care if this commit fails on some nodes", t);
}
updateMappingsFromZk(jettys, clients);
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractSyncSliceTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractSyncSliceTestBase.java
index 1b00e68b396..6efa386ff38 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractSyncSliceTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractSyncSliceTestBase.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -38,10 +39,14 @@ import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.util.LogLevel;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** Test sync phase that occurs when Leader goes down and a new Leader is elected. */
@LogLevel("org.apache.solr.update.processor.DistributedZkUpdateProcessor=WARN")
public abstract class AbstractSyncSliceTestBase extends AbstractFullDistribZkTestBase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
private boolean success = false;
@Override
@@ -236,7 +241,7 @@ public abstract class AbstractSyncSliceTestBase extends AbstractFullDistribZkTes
try {
commit();
} catch (Throwable t) {
- t.printStackTrace();
+ log.error("commit error", t);
}
if (shardFailMessage == null) {
// try again
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
index e0f2e6d1fd1..2a5e91115eb 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
@@ -535,16 +535,14 @@ public class ChaosMonkey {
() -> {
while (!stop) {
try {
-
Thread.sleep(chaosRandom.nextInt(roundPauseUpperLimit));
causeSomeChaos();
-
} catch (InterruptedException e) {
- //
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
} catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ log.error("error causing some chaos", e);
}
}
monkeyLog("finished");
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
index 3b100cf1245..355f6e38c2f 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableIndexingThread.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud;
import java.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -25,8 +26,12 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.common.SolrInputDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class StoppableIndexingThread extends AbstractFullDistribZkTestBase.StoppableThread {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
static String t1 = "a_t";
static String i1 = "a_i";
private volatile boolean stop = false;
@@ -99,11 +104,9 @@ public class StoppableIndexingThread extends AbstractFullDistribZkTestBase.Stopp
cloudClient.deleteById(deleteId);
} catch (Exception e) {
- System.err.println("REQUEST FAILED for id=" + deleteId);
- e.printStackTrace();
+ log.error("REQUEST FAILED for id={}", deleteId, e);
if (e instanceof SolrServerException) {
- System.err.println("ROOT CAUSE for id=" + deleteId);
- ((SolrServerException) e).getRootCause().printStackTrace();
+ log.error("ROOT CAUSE for id={}", deleteId, ((SolrServerException) e).getRootCause());
}
deleteFails.add(deleteId);
}
@@ -123,11 +126,9 @@ public class StoppableIndexingThread extends AbstractFullDistribZkTestBase.Stopp
}
} catch (Exception e) {
addFailed = true;
- System.err.println("REQUEST FAILED for id=" + id);
- e.printStackTrace();
+ log.error("REQUEST FAILED for id={}", id, e);
if (e instanceof SolrServerException) {
- System.err.println("ROOT CAUSE for id=" + id);
- ((SolrServerException) e).getRootCause().printStackTrace();
+ log.error("ROOT CAUSE for id={}", id, ((SolrServerException) e).getRootCause());
}
addFails.add(id);
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableSearchThread.java b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableSearchThread.java
index ca0d40f8065..972b56085f9 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/StoppableSearchThread.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/StoppableSearchThread.java
@@ -51,11 +51,9 @@ class StoppableSearchThread extends AbstractFullDistribZkTestBase.StoppableThrea
// to come to the aid of their country.
cloudClient.query(new SolrQuery(QUERIES[random.nextInt(QUERIES.length)]));
} catch (Exception e) {
- System.err.println("QUERY REQUEST FAILED:");
- e.printStackTrace();
+ log.error("QUERY REQUEST FAILED:", e);
if (e instanceof SolrServerException) {
- System.err.println("ROOT CAUSE:");
- ((SolrServerException) e).getRootCause().printStackTrace();
+ log.error("ROOT CAUSE:", ((SolrServerException) e).getRootCause());
}
queryFails.incrementAndGet();
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
index a83b95178ba..9bd2fd73ccf 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
@@ -487,7 +487,7 @@ public class ZkTestServer {
try (SolrZkClient client = new SolrZkClient(getZkHost(), 10000)) {
client.makePath(path, null, CreateMode.PERSISTENT, null, false, true, 0);
} catch (InterruptedException | KeeperException e) {
- e.printStackTrace();
+ log.error("Error checking path {}", path, e);
throw new IOException("Error checking path " + path, SolrZkClient.checkInterrupted(e));
}
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
index acd101985cd..c719d4988bf 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
@@ -344,8 +344,7 @@ public abstract class AbstractIncrementalBackupTest extends SolrCloudTestCase {
fail("This backup should be failed");
}
} catch (Exception e) {
- // expected
- e.printStackTrace();
+ log.error("expected", e);
}
}
}
@@ -507,7 +506,8 @@ public abstract class AbstractIncrementalBackupTest extends SolrCloudTestCase {
RequestStatusState state = backup.processAndWait(cluster.getSolrClient(), 1000);
assertEquals(RequestStatusState.COMPLETED, state);
} catch (InterruptedException e) {
- e.printStackTrace();
+ Thread.currentThread().interrupt();
+ log.error("interrupted", e);
}
numBackup++;
} else {