You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/08/30 17:09:31 UTC
[lucene-solr] 01/02: @637 Some useful renames.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 979a34a0d211bc63f0e6ecd496e42c66c4fcab3f
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Aug 30 11:59:30 2020 -0500
@637 Some useful renames.
---
.../solr/client/solrj/embedded/JettySolrRunner.java | 4 ++--
.../org/apache/solr/cloud/OverseerTaskProcessor.java | 4 +---
.../java/org/apache/solr/cloud/RecoveryStrategy.java | 2 +-
.../src/java/org/apache/solr/cloud/SyncStrategy.java | 2 +-
.../src/java/org/apache/solr/cloud/ZkController.java | 6 +++---
.../solr/cloud/api/collections/AddReplicaCmd.java | 4 ++--
.../apache/solr/cloud/api/collections/BackupCmd.java | 2 +-
.../cloud/api/collections/CreateCollectionCmd.java | 2 +-
.../cloud/api/collections/CreateSnapshotCmd.java | 2 +-
.../solr/cloud/api/collections/DeleteReplicaCmd.java | 2 +-
.../cloud/api/collections/DeleteSnapshotCmd.java | 2 +-
.../api/collections/MaintainRoutedAliasCmd.java | 2 +-
.../solr/cloud/api/collections/MigrateCmd.java | 2 +-
.../OverseerCollectionMessageHandler.java | 10 ++++------
.../cloud/api/collections/ReindexCollectionCmd.java | 7 ++-----
.../solr/cloud/api/collections/RestoreCmd.java | 2 +-
.../solr/cloud/api/collections/SplitShardCmd.java | 3 +--
.../java/org/apache/solr/core/BlobRepository.java | 4 +---
.../src/java/org/apache/solr/core/CoreContainer.java | 20 +++-----------------
.../core/src/java/org/apache/solr/core/SolrCore.java | 2 +-
.../src/java/org/apache/solr/core/ZkContainer.java | 6 +-----
.../apache/solr/filestore/DistribPackageStore.java | 2 +-
.../org/apache/solr/handler/ReplicationHandler.java | 7 ++-----
.../org/apache/solr/handler/SolrConfigHandler.java | 6 ++----
.../handler/admin/AutoscalingHistoryHandler.java | 6 +-----
.../apache/solr/handler/admin/CoreAdminHandler.java | 7 +------
.../handler/component/HttpShardHandlerFactory.java | 2 +-
.../apache/solr/handler/component/SearchHandler.java | 4 +---
.../solr/handler/component/ShardHandlerFactory.java | 3 +--
.../metrics/reporters/solr/SolrClusterReporter.java | 3 +--
.../src/java/org/apache/solr/pkg/PackageAPI.java | 6 ++----
.../java/org/apache/solr/request/SimpleFacets.java | 4 ++--
.../org/apache/solr/schema/ManagedIndexSchema.java | 5 +----
.../org/apache/solr/security/AuditLoggerPlugin.java | 6 +-----
.../org/apache/solr/servlet/SolrDispatchFilter.java | 7 +------
.../src/java/org/apache/solr/update/PeerSync.java | 2 +-
.../org/apache/solr/update/PeerSyncWithLeader.java | 4 +---
.../org/apache/solr/update/SolrCmdDistributor.java | 2 +-
.../org/apache/solr/update/UpdateShardHandler.java | 2 +-
.../update/processor/DistributedUpdateProcessor.java | 2 +-
.../solr/client/solrj/impl/HttpSolrClient.java | 5 +----
.../client/solrj/io/graph/GatherNodesStream.java | 4 +---
.../client/solrj/io/graph/ShortestPathStream.java | 4 +---
.../solr/client/solrj/io/stream/CloudSolrStream.java | 2 +-
.../client/solrj/io/stream/DeepRandomStream.java | 2 +-
.../solr/client/solrj/io/stream/ExecutorStream.java | 2 +-
.../solrj/io/stream/FeaturesSelectionStream.java | 2 +-
.../client/solrj/io/stream/ParallelListStream.java | 2 +-
.../solrj/io/stream/SignificantTermsStream.java | 2 +-
.../solr/client/solrj/io/stream/TextLogitStream.java | 2 +-
.../src/java/org/apache/solr/common/ParWork.java | 10 +++++-----
.../org/apache/solr/common/cloud/ZkStateReader.java | 5 +----
.../solr/common/util/SolrQueuedThreadPool.java | 2 +-
.../src/java/org/apache/solr/SolrTestCase.java | 12 +-----------
54 files changed, 72 insertions(+), 154 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
index 52876be..a7d6180 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
@@ -831,14 +831,14 @@ public class JettySolrRunner implements Closeable {
public SolrClient newClient() {
return new Http2SolrClient.Builder(getBaseUrl().toString()).
- withHttpClient(getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient()).build();
+ withHttpClient(getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient()).build();
}
public SolrClient newClient(int connectionTimeoutMillis, int socketTimeoutMillis) {
return new Http2SolrClient.Builder(getBaseUrl().toString())
.connectionTimeout(connectionTimeoutMillis)
.idleTimeout(socketTimeoutMillis)
- .withHttpClient(getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient())
+ .withHttpClient(getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient())
.build();
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index 0b0ecb1..6f40729 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -21,11 +21,9 @@ import com.google.common.collect.ImmutableSet;
import org.apache.solr.cloud.OverseerTaskQueue.QueueEvent;
import org.apache.solr.common.AlreadyClosedException;
import org.apache.solr.common.ParWork;
-import org.apache.solr.common.ParWorkExecService;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
-import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
import org.apache.solr.core.CoreContainer;
@@ -292,7 +290,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
.getId() + " message:" + message.toString());
Runner runner = new Runner(messageHandler, message, operation, head,
lock);
- ParWork.getEXEC().execute(runner);
+ ParWork.getRootSharedExecutor().execute(runner);
}
} catch (InterruptedException | AlreadyClosedException e) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
index 1404dd3..a584da1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
@@ -185,7 +185,7 @@ public class RecoveryStrategy implements Runnable, Closeable {
// (even though getRecoveryOnlyHttpClient() already has them set)
final UpdateShardHandlerConfig cfg = cc.getConfig().getUpdateShardHandlerConfig();
return (new Http2SolrClient.Builder(leaderUrl)
- .withHttpClient(cc.getUpdateShardHandler().getUpdateOnlyHttpClient())
+ .withHttpClient(cc.getUpdateShardHandler().getTheSharedHttpClient())
.markInternalRequest()
).build();
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
index 23c2437..f23bf7a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
@@ -62,7 +62,7 @@ public class SyncStrategy implements Closeable {
// but currently holds no resources to release anyway
// assert ObjectReleaseTracker.track(this);
UpdateShardHandler updateShardHandler = cc.getUpdateShardHandler();
- shardHandler = ((HttpShardHandlerFactory)cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getUpdateOnlyHttpClient());
+ shardHandler = ((HttpShardHandlerFactory)cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getTheSharedHttpClient());
}
private static class ShardCoreRequest extends ShardRequest {
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index 79dfec9..0184ae2 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -453,7 +453,7 @@ public class ZkController implements Closeable {
ParWork.close(overseerElector.getContext());
}
LeaderElector overseerElector = new LeaderElector(zkClient, new ContextKey("overseer", "overseer"), overseerContexts);
- ZkController.this.overseer = new Overseer((HttpShardHandler) ((HttpShardHandlerFactory) cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getUpdateOnlyHttpClient()), cc.getUpdateShardHandler(),
+ ZkController.this.overseer = new Overseer((HttpShardHandler) ((HttpShardHandlerFactory) cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getTheSharedHttpClient()), cc.getUpdateShardHandler(),
CommonParams.CORES_HANDLER_PATH, zkStateReader, ZkController.this, cloudConfig);
overseerElector.setup(context);
overseerElector.joinElection(context, true);
@@ -711,7 +711,7 @@ public class ZkController implements Closeable {
return cloudManager;
}
cloudSolrClient = new CloudHttp2SolrClient.Builder(zkStateReader)
- .withHttpClient(cc.getUpdateShardHandler().getUpdateOnlyHttpClient())
+ .withHttpClient(cc.getUpdateShardHandler().getTheSharedHttpClient())
.build();
cloudManager = new SolrClientCloudManager(
new ZkDistributedQueueFactory(zkClient),
@@ -1081,7 +1081,7 @@ public class ZkController implements Closeable {
zkStateReader.createClusterStateWatchersAndUpdate();
- this.overseer = new Overseer((HttpShardHandler) ((HttpShardHandlerFactory) cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getUpdateOnlyHttpClient()), cc.getUpdateShardHandler(),
+ this.overseer = new Overseer((HttpShardHandler) ((HttpShardHandlerFactory) cc.getShardHandlerFactory()).getShardHandler(cc.getUpdateShardHandler().getTheSharedHttpClient()), cc.getUpdateShardHandler(),
CommonParams.CORES_HANDLER_PATH, zkStateReader, this, cloudConfig);
this.overseerRunningMap = Overseer.getRunningMap(zkClient);
this.overseerCompletedMap = Overseer.getCompletedMap(zkClient);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
index afec352..c572ed9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/AddReplicaCmd.java
@@ -166,7 +166,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
}
}
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
ZkStateReader zkStateReader = ocmh.zkStateReader;
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
@@ -209,7 +209,7 @@ public class AddReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
runnable.run();
}
} else {
- ParWork.getEXEC().execute(runnable);
+ ParWork.getRootSharedExecutor().execute(runnable);
}
return createReplicas.stream()
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
index 1f02da6..eb6c878 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
@@ -170,7 +170,7 @@ public class BackupCmd implements OverseerCollectionMessageHandler.Cmd {
String backupName = request.getStr(NAME);
String asyncId = request.getStr(ASYNC);
String repoName = request.getStr(CoreAdminParams.BACKUP_REPOSITORY);
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
String commitName = request.getStr(CoreAdminParams.COMMIT_NAME);
Optional<CollectionSnapshotMetaData> snapshotMeta = Optional.empty();
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
index c07cbc8..793b156 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
@@ -236,7 +236,7 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
collectionName, shardNames, message));
}
Map<String,ShardRequest> coresToCreate = new LinkedHashMap<>();
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
for (ReplicaPosition replicaPosition : replicaPositions) {
String nodeName = replicaPosition.node;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
index a51c2bd..eb95d79 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
@@ -96,7 +96,7 @@ public class CreateSnapshotCmd implements OverseerCollectionMessageHandler.Cmd {
@SuppressWarnings({"rawtypes"})
NamedList shardRequestResults = new NamedList();
Map<String, Slice> shardByCoreName = new HashMap<>();
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
for (Slice slice : ocmh.zkStateReader.getClusterState().getCollection(collectionName).getSlices()) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
index dfb87a0..0024c55 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
@@ -232,7 +232,7 @@ public class DeleteReplicaCmd implements Cmd {
" with onlyIfDown='true', but state is '" + replica.getStr(ZkStateReader.STATE_PROP) + "'");
}
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
String core = replica.getStr(ZkStateReader.CORE_NAME_PROP);
String asyncId = message.getStr(ASYNC);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
index 029279f..cab6d25 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
@@ -77,7 +77,7 @@ public class DeleteSnapshotCmd implements OverseerCollectionMessageHandler.Cmd {
String asyncId = message.getStr(ASYNC);
@SuppressWarnings({"rawtypes"})
NamedList shardRequestResults = new NamedList();
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
SolrZkClient zkClient = ocmh.zkStateReader.getZkClient();
Optional<CollectionSnapshotMetaData> meta = SolrSnapshotManager.getCollectionLevelSnapshot(zkClient, collectionName, commitName);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MaintainRoutedAliasCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MaintainRoutedAliasCmd.java
index a0ed55c..74e7d8c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MaintainRoutedAliasCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MaintainRoutedAliasCmd.java
@@ -125,7 +125,7 @@ public class MaintainRoutedAliasCmd extends AliasCmd {
switch (action.actionType) {
case ENSURE_REMOVED:
if (exists) {
- ParWork.getEXEC().submit(
+ ParWork.getRootSharedExecutor().submit(
() -> {
try {
deleteTargetCollection(clusterState, results, aliasName, aliasesManager, action);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
index 4be7644..0dc3377 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
@@ -163,7 +163,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
DocRouter.Range keyHashRange = sourceRouter.keyHashRange(splitKey);
ShardHandlerFactory shardHandlerFactory = ocmh.shardHandlerFactory;
- ShardHandler shardHandler = ((HttpShardHandlerFactory)shardHandlerFactory).getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ((HttpShardHandlerFactory)shardHandlerFactory).getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
log.info("Hash range for split.key: {} is: {}", splitKey, keyHashRange);
// intersect source range, keyHashRange and target range
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
index 8c76e5b..b72f279 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
@@ -18,7 +18,6 @@ package org.apache.solr.cloud.api.collections;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.StringUtils;
-import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.cloud.DistribStateManager;
@@ -27,7 +26,6 @@ import org.apache.solr.client.solrj.cloud.autoscaling.AlreadyExistsException;
import org.apache.solr.client.solrj.cloud.autoscaling.BadVersionException;
import org.apache.solr.client.solrj.impl.BaseHttpSolrClient;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.UpdateResponse;
@@ -373,7 +371,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
sreq.shards = new String[] {baseUrl};
sreq.actualShards = sreq.shards;
sreq.params = params;
- ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
shardHandler.submit(sreq, baseUrl, sreq.params);
}
@@ -544,7 +542,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
// and we force open a searcher so that we have documents to show upon switching states
UpdateResponse updateResponse = null;
try {
- updateResponse = softCommit(coreUrl, overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ updateResponse = softCommit(coreUrl, overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
processResponse(results, null, coreUrl, updateResponse, slice, Collections.emptySet());
} catch (Exception e) {
ParWork.propegateInterrupt(e);
@@ -814,7 +812,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
log.info("Executing Collection Cmd={}, asyncId={}", params, asyncId);
String collectionName = message.getStr(NAME);
@SuppressWarnings("deprecation")
- ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
ClusterState clusterState = zkStateReader.getClusterState();
DocCollection coll = clusterState.getCollection(collectionName);
@@ -873,7 +871,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
}
private NamedList<Object> waitForCoreAdminAsyncCallToComplete(String nodeName, String requestId) throws KeeperException, InterruptedException {
- ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = shardHandlerFactory.getShardHandler(overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(CoreAdminParams.ACTION, CoreAdminAction.REQUESTSTATUS.toString());
params.set(CoreAdminParams.REQUESTID, requestId);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReindexCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReindexCollectionCmd.java
index 1fe78cb..d92cef0 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReindexCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReindexCollectionCmd.java
@@ -32,14 +32,11 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.google.common.annotations.VisibleForTesting;
-import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.cloud.DistribStateManager;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
@@ -638,7 +635,7 @@ public class ReindexCollectionCmd implements OverseerCollectionMessageHandler.Cm
@SuppressWarnings({"unchecked"})
private void waitForDaemon(String daemonName, String daemonUrl, String sourceCollection, String targetCollection, Map<String, Object> reindexingState) throws Exception {
Http2SolrClient client = ocmh.overseer.getCoreContainer()
- .getUpdateShardHandler().getUpdateOnlyHttpClient();
+ .getUpdateShardHandler().getTheSharedHttpClient();
try (Http2SolrClient solrClient = new Http2SolrClient.Builder()
.withHttpClient(client).markInternalRequest().build()) {
solrClient.setBaseUrl(daemonUrl);
@@ -693,7 +690,7 @@ public class ReindexCollectionCmd implements OverseerCollectionMessageHandler.Cm
private void killDaemon(String daemonName, String daemonUrl) throws Exception {
log.debug("-- killing daemon {} at {}", daemonName, daemonUrl);
Http2SolrClient client = ocmh.overseer.getCoreContainer()
- .getUpdateShardHandler().getUpdateOnlyHttpClient();
+ .getUpdateShardHandler().getTheSharedHttpClient();
try (Http2SolrClient solrClient = new Http2SolrClient.Builder()
.withHttpClient(client)
.markInternalRequest().build()) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
index 6cbdaf2..3051b71 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
@@ -94,7 +94,7 @@ public class RestoreCmd implements OverseerCollectionMessageHandler.Cmd {
String restoreCollectionName = message.getStr(COLLECTION_PROP);
String backupName = message.getStr(NAME); // of backup
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
String asyncId = message.getStr(ASYNC);
String repo = message.getStr(CoreAdminParams.BACKUP_REPOSITORY);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
index 0c0b627..0976889 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
@@ -68,7 +68,6 @@ import org.apache.solr.update.SolrIndexSplitter;
import org.apache.solr.util.RTimerTree;
import org.apache.solr.util.TestInjection;
import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -208,7 +207,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
List<Map<String, Object>> replicas = new ArrayList<>((repFactor - 1) * 2);
@SuppressWarnings("deprecation")
- ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ ShardHandler shardHandler = ocmh.shardHandlerFactory.getShardHandler(ocmh.overseer.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
if (message.getBool(CommonAdminParams.SPLIT_BY_PREFIX, false)) {
diff --git a/solr/core/src/java/org/apache/solr/core/BlobRepository.java b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
index 8333a47..f38473c 100644
--- a/solr/core/src/java/org/apache/solr/core/BlobRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
@@ -36,7 +36,6 @@ import java.util.regex.Pattern;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.common.ParWork;
@@ -49,7 +48,6 @@ import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionAdminParams;
import org.apache.solr.common.util.StrUtils;
import org.apache.solr.common.util.Utils;
-import org.apache.solr.util.SimplePostTool;
import org.apache.zookeeper.server.ByteBufferInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -214,7 +212,7 @@ public class BlobRepository {
ByteBuffer fetchFromUrl(String key, String url) {
Http2SolrClient httpClient = coreContainer
- .getUpdateShardHandler().getUpdateOnlyHttpClient();
+ .getUpdateShardHandler().getTheSharedHttpClient();
HttpGet httpGet = new HttpGet(url);
ByteBuffer b;
HttpResponse response = null;
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index c236161..8bb25dc 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -40,11 +40,8 @@ import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
@@ -58,25 +55,19 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.Directory;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
-import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
import org.apache.solr.client.solrj.impl.SolrHttpClientContextBuilder;
-import org.apache.solr.client.solrj.impl.SolrHttpClientContextBuilder.AuthSchemeRegistryProvider;
-import org.apache.solr.client.solrj.impl.SolrHttpClientContextBuilder.CredentialsProviderProvider;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.client.solrj.io.SolrClientCache;
import org.apache.solr.client.solrj.util.SolrIdentifierValidator;
import org.apache.solr.cloud.CloudDescriptor;
-import org.apache.solr.cloud.Overseer;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.cloud.autoscaling.AutoScalingHandler;
import org.apache.solr.common.AlreadyClosedException;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.ParWorkExecService;
-import org.apache.solr.common.ParWorkExecutor;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.cloud.DocCollection;
@@ -89,7 +80,6 @@ import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.ObjectCache;
import org.apache.solr.common.util.ObjectReleaseTracker;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.common.util.Utils;
import org.apache.solr.core.DirectoryFactory.DirContext;
import org.apache.solr.core.backup.repository.BackupRepository;
@@ -112,10 +102,7 @@ import org.apache.solr.handler.admin.SecurityConfHandlerZk;
import org.apache.solr.handler.admin.ZookeeperInfoHandler;
import org.apache.solr.handler.admin.ZookeeperReadAPI;
import org.apache.solr.handler.admin.ZookeeperStatusHandler;
-import org.apache.solr.handler.component.HttpShardHandler;
-import org.apache.solr.handler.component.HttpShardHandlerFactory;
import org.apache.solr.handler.component.ShardHandlerFactory;
-import org.apache.solr.handler.loader.XMLLoader;
import org.apache.solr.handler.sql.CalciteSolrDriver;
import org.apache.solr.logging.LogWatcher;
import org.apache.solr.logging.MDCLoggingContext;
@@ -140,7 +127,6 @@ import org.apache.solr.update.UpdateShardHandler;
import org.apache.solr.common.util.OrderedExecutor;
import org.apache.solr.util.RefCounted;
import org.apache.zookeeper.KeeperException;
-import org.eclipse.jetty.util.BlockingArrayQueue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -403,7 +389,7 @@ public class CoreContainer implements Closeable {
containerProperties.putAll(cfg.getSolrProperties());
- solrCoreLoadExecutor = new ParWorkExecService(ParWork.getEXEC(), Math.max(3, Runtime.getRuntime().availableProcessors() / 2));
+ solrCoreLoadExecutor = new ParWorkExecService(ParWork.getRootSharedExecutor(), Math.max(3, Runtime.getRuntime().availableProcessors() / 2));
// if (solrCoreLoadExecutor == null) {
// synchronized (CoreContainer.class) {
// if (solrCoreLoadExecutor == null) {
@@ -729,7 +715,7 @@ public class CoreContainer implements Closeable {
containerHandlers.getApiBag().registerObject(packageStoreAPI.readAPI);
containerHandlers.getApiBag().registerObject(packageStoreAPI.writeAPI);
- solrClientCache = new SolrClientCache(updateShardHandler.getUpdateOnlyHttpClient());
+ solrClientCache = new SolrClientCache(updateShardHandler.getTheSharedHttpClient());
// initialize CalciteSolrDriver instance to use this solrClientCache
CalciteSolrDriver.INSTANCE.setSolrClientCache(solrClientCache);
@@ -971,7 +957,7 @@ public class CoreContainer implements Closeable {
name = getZkController().getNodeName();
cloudManager = getZkController().getSolrCloudManager();
client = new CloudHttp2SolrClient.Builder(getZkController().getZkStateReader())
- .withHttpClient(updateShardHandler.getUpdateOnlyHttpClient()).build();
+ .withHttpClient(updateShardHandler.getTheSharedHttpClient()).build();
} else {
name = getNodeConfig().getNodeName();
if (name == null || name.isEmpty()) {
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index f67ed5d..bf417aa 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -3326,6 +3326,6 @@ public final class SolrCore implements SolrInfoBean, Closeable {
* @param r the task to run
*/
public void runAsync(Runnable r) {
- ParWork.getExecutor().submit(r);
+ ParWork.getMyPerThreadExecutor().submit(r);
}
}
diff --git a/solr/core/src/java/org/apache/solr/core/ZkContainer.java b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
index 9df90d1..85743a4 100644
--- a/solr/core/src/java/org/apache/solr/core/ZkContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/ZkContainer.java
@@ -26,7 +26,6 @@ import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeoutException;
import java.util.function.Predicate;
import java.util.function.Supplier;
@@ -34,7 +33,6 @@ import java.util.function.Supplier;
import org.apache.commons.lang3.StringUtils;
import org.apache.solr.cloud.SolrZkServer;
import org.apache.solr.cloud.ZkController;
-import org.apache.solr.common.AlreadyClosedException;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.ClusterProperties;
@@ -43,9 +41,7 @@ import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkConfigManager;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.cloud.ZooKeeperException;
-import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.logging.MDCLoggingContext;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.zookeeper.KeeperException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -232,7 +228,7 @@ public class ZkContainer implements Closeable {
MDCLoggingContext.clear();
}
};
- ParWork.getExecutor().submit(r); // ### expert usage
+ ParWork.getMyPerThreadExecutor().submit(r); // ### expert usage
}
diff --git a/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java b/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
index 9ec83ce..038e8be 100644
--- a/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
+++ b/solr/core/src/java/org/apache/solr/filestore/DistribPackageStore.java
@@ -387,7 +387,7 @@ public class DistribPackageStore implements PackageStore {
}
try {
//fire and forget
- Http2SolrClient.GET(url, coreContainer.getUpdateShardHandler().getUpdateOnlyHttpClient());
+ Http2SolrClient.GET(url, coreContainer.getUpdateShardHandler().getTheSharedHttpClient());
} catch (Exception e) {
ParWork.propegateInterrupt(e);
log.info("Node: {} failed to respond for file fetch notification", node, e);
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 46fe2bc..3c0502a 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -42,8 +42,6 @@ import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.Random;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@@ -73,7 +71,6 @@ import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.RateLimiter;
import org.apache.solr.common.ParWork;
-import org.apache.solr.common.ScheduledThreadPoolExecutor;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.CommonParams;
@@ -179,7 +176,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
private final ReentrantLock indexFetchLock = new ReentrantLock();
- private final ExecutorService restoreExecutor = ParWork.getExecutor();
+ private final ExecutorService restoreExecutor = ParWork.getMyPerThreadExecutor();
private volatile Future<Boolean> restoreFuture;
@@ -505,7 +502,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
MDC.put("RestoreCore.backupLocation", location);
MDC.put("RestoreCore.backupName", name);
// nocommit - whats up with using the virt? we prob need to disable run in own thread at the least
- restoreFuture = ParWork.getEXEC().submit(restoreCore);
+ restoreFuture = ParWork.getRootSharedExecutor().submit(restoreCore);
currentRestoreName = name;
rsp.add(STATUS, OK_STATUS);
} finally {
diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
index 1e163f2..be07834 100644
--- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
@@ -18,14 +18,12 @@ package org.apache.solr.handler;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
-import org.apache.http.client.HttpClient;
import org.apache.solr.api.Api;
import org.apache.solr.api.ApiBag;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.io.stream.expr.Expressible;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.cloud.ZkSolrResourceLoader;
@@ -820,7 +818,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
for (String coreUrl : getActiveReplicaCoreUrls(zkController, collection)) {
PerReplicaCallable e = new PerReplicaCallable(
- zkController.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient()
+ zkController.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient()
, coreUrl, prop, expectedVersion, maxWaitSecs);
concurrentTasks.add(e);
}
@@ -836,7 +834,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
try {
List<Future<Boolean>> results =
- ParWork.getExecutor().invokeAll(concurrentTasks, maxWaitSecs, TimeUnit.SECONDS);
+ ParWork.getMyPerThreadExecutor().invokeAll(concurrentTasks, maxWaitSecs, TimeUnit.SECONDS);
// determine whether all replicas have the update
List<String> failedList = null; // lazily init'd
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
index 3b2c60a..4bae0ba 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
@@ -18,17 +18,13 @@ package org.apache.solr.handler.admin;
import java.lang.invoke.MethodHandles;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import java.util.Optional;
import org.apache.solr.api.Api;
import org.apache.solr.api.ApiBag;
-import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.cloud.autoscaling.SystemLogListener;
import org.apache.solr.cloud.autoscaling.TriggerEvent;
@@ -130,7 +126,7 @@ public class AutoscalingHistoryHandler extends RequestHandlerBase implements Per
}
}
try (CloudHttp2SolrClient cloudSolrClient = new CloudHttp2SolrClient.Builder(req.getCore().getCoreContainer().getZkController().getZkStateReader())
- .withHttpClient(coreContainer.getUpdateShardHandler().getUpdateOnlyHttpClient())
+ .withHttpClient(coreContainer.getUpdateShardHandler().getTheSharedHttpClient())
.build()) {
QueryResponse qr = cloudSolrClient.query(collection, params);
rsp.setAllValues(qr.getResponse());
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
index 024eca5..4c69a94 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
@@ -25,7 +25,6 @@ import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
-import java.util.concurrent.ExecutorService;
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.StringUtils;
@@ -40,20 +39,16 @@ import org.apache.solr.common.params.CommonAdminParams;
import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.handler.RequestHandlerBase;
import org.apache.solr.logging.MDCLoggingContext;
-import org.apache.solr.metrics.SolrMetricManager;
import org.apache.solr.metrics.SolrMetricsContext;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.security.AuthorizationContext;
import org.apache.solr.security.PermissionNameProvider;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
-import org.apache.solr.util.stats.MetricUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@@ -179,7 +174,7 @@ public class CoreAdminHandler extends RequestHandlerBase implements PermissionNa
try {
MDC.put("CoreAdminHandler.asyncId", taskId);
MDC.put("CoreAdminHandler.action", op.action.toString());
- ParWork.getExecutor().submit(() -> { // ### SUPER DUPER EXPERT USAGE
+ ParWork.getMyPerThreadExecutor().submit(() -> { // ### SUPER DUPER EXPERT USAGE
boolean exceptionCaught = false;
try {
if (!cores.isShutDown()) {
diff --git a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
index a9aaa0f..e5af1e4 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
@@ -449,7 +449,7 @@ public class HttpShardHandlerFactory extends ShardHandlerFactory implements org.
* Creates a new completion service for use by a single set of distributed requests.
*/
public CompletionService newCompletionService() {
- return new ExecutorCompletionService(ParWork.getEXEC());
+ return new ExecutorCompletionService(ParWork.getRootSharedExecutor());
} // ### expert usage
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java b/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
index d0c2480..e3815f7 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler.component;
-import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.invoke.MethodHandles;
@@ -30,7 +29,6 @@ import org.apache.lucene.index.ExitableDirectoryReader;
import org.apache.lucene.search.TotalHits;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.cloud.ZkController;
-import org.apache.solr.common.ParWork;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
@@ -250,7 +248,7 @@ public class SearchHandler extends RequestHandlerBase implements SolrCoreAware,
}
if (rb.isDistrib) {
- shardHandler = ((HttpShardHandlerFactory)shardHandlerFactory).getShardHandler(req.getCore().getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient());
+ shardHandler = ((HttpShardHandlerFactory)shardHandlerFactory).getShardHandler(req.getCore().getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient());
shardHandler.prepDistributed(rb);
if (!rb.isDistrib) {
shardHandler = null; // request is not distributed after all and so the shard handler is not needed
diff --git a/solr/core/src/java/org/apache/solr/handler/component/ShardHandlerFactory.java b/solr/core/src/java/org/apache/solr/handler/component/ShardHandlerFactory.java
index 75c9459..9ecd0e2 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ShardHandlerFactory.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ShardHandlerFactory.java
@@ -21,7 +21,6 @@ import java.util.Collections;
import java.util.Locale;
import com.google.common.collect.ImmutableMap;
-import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.common.SolrException;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrResourceLoader;
@@ -51,7 +50,7 @@ public abstract class ShardHandlerFactory implements Closeable {
try {
ShardHandlerFactory shf = loader.findClass(info.className, ShardHandlerFactory.class, "handler.component.").getConstructor().newInstance();
if (shf instanceof HttpShardHandlerFactory) {
- ((HttpShardHandlerFactory) shf).setHttp2Client(ush.getUpdateOnlyHttpClient());
+ ((HttpShardHandlerFactory) shf).setHttp2Client(ush.getTheSharedHttpClient());
}
if (PluginInfoInitialized.class.isAssignableFrom(shf.getClass()))
PluginInfoInitialized.class.cast(shf).init(info);
diff --git a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
index 2413c14..dec7795 100644
--- a/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
+++ b/solr/core/src/java/org/apache/solr/metrics/reporters/solr/SolrClusterReporter.java
@@ -27,7 +27,6 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
-import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.cloud.LeaderElector;
import org.apache.solr.cloud.Overseer;
@@ -210,7 +209,7 @@ public class SolrClusterReporter extends SolrCoreContainerReporter {
log.info("Turning off node reporter, period={}", period);
return;
}
- Http2SolrClient httpClient = cc.getUpdateShardHandler().getUpdateOnlyHttpClient();
+ Http2SolrClient httpClient = cc.getUpdateShardHandler().getTheSharedHttpClient();
ZkController zk = cc.getZkController();
String reporterId = zk.getNodeName();
reporter = SolrReporter.Builder.forReports(metricManager, reports)
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
index 63e6722..8a84b78 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
@@ -37,11 +37,9 @@ import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.client.solrj.request.beans.Package;
import org.apache.solr.common.ParWork;
-import org.apache.solr.common.ParWorkExecService;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.annotation.JsonProperty;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.ZooKeeperException;
import org.apache.solr.common.util.CommandOperation;
import org.apache.solr.common.util.ReflectMapWriter;
import org.apache.solr.common.util.Utils;
@@ -242,7 +240,7 @@ public class PackageAPI {
for (String s : coreContainer.getPackageStoreAPI().shuffledNodes()) {
try {
Http2SolrClient.GET(coreContainer.getZkController().
- zkStateReader.getBaseUrlForNodeName(s).replace("/solr", "/api") + "/cluster/package?wt=javabin&omitHeader=true&refreshPackage=" + p, coreContainer.getUpdateShardHandler().getUpdateOnlyHttpClient());
+ zkStateReader.getBaseUrlForNodeName(s).replace("/solr", "/api") + "/cluster/package?wt=javabin&omitHeader=true&refreshPackage=" + p, coreContainer.getUpdateShardHandler().getTheSharedHttpClient());
} catch (InterruptedException e) {
ParWork.propegateInterrupt(e);
} catch (ExecutionException e) {
@@ -421,7 +419,7 @@ public class PackageAPI {
try {
Http2SolrClient.GET(coreContainer.getZkController().zkStateReader.
getBaseUrlForNodeName(s).replace("/solr", "/api") +
- "/cluster/package?wt=javabin&omitHeader=true&expectedVersion" + expected, coreContainer.getUpdateShardHandler().getUpdateOnlyHttpClient());
+ "/cluster/package?wt=javabin&omitHeader=true&expectedVersion" + expected, coreContainer.getUpdateShardHandler().getTheSharedHttpClient());
} catch (InterruptedException e) {
ParWork.propegateInterrupt(e);
} catch (ExecutionException e) {
diff --git a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
index e058c502..9a65453 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -543,7 +543,7 @@ public class SimpleFacets {
} else {
PerSegmentSingleValuedFaceting ps = new PerSegmentSingleValuedFaceting(searcher, docs, field, offset, limit, mincount, missing, sort, prefix, termFilter);
ps.setNumThreads(threads);
- counts = ps.getFacetCounts(ParWork.getExecutor()); // ### expert usage
+ counts = ps.getFacetCounts(ParWork.getMyPerThreadExecutor()); // ### expert usage
}
break;
case UIF:
@@ -851,7 +851,7 @@ public class SimpleFacets {
List<Future> futures = new ArrayList<>(calls.size());
// expert use of per thread exec
for (Callable<NamedList> call : calls) {
- futures.add(ParWork.getExecutor().submit(call));
+ futures.add(ParWork.getMyPerThreadExecutor().submit(call));
}
for (Future<NamedList> future : futures) {
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
index c3993f0..4c8dab0 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
@@ -36,7 +36,6 @@ import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
@@ -66,12 +65,10 @@ import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.rest.schema.FieldTypeXmlAdapter;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.util.FileUtils;
import org.apache.solr.util.RTimer;
import org.apache.zookeeper.CreateMode;
@@ -242,7 +239,7 @@ public final class ManagedIndexSchema extends IndexSchema {
// use an executor service to invoke schema zk version requests in parallel with a max wait time
try {
List<Future<Integer>> results =
- ParWork.getExecutor().invokeAll(concurrentTasks, maxWaitSecs, TimeUnit.SECONDS);
+ ParWork.getMyPerThreadExecutor().invokeAll(concurrentTasks, maxWaitSecs, TimeUnit.SECONDS);
// determine whether all replicas have the update
List<String> failedList = null; // lazily init'd
diff --git a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
index 89fac9d..a16fcdd 100644
--- a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
@@ -24,8 +24,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.core.SolrInfoBean;
import org.apache.solr.metrics.SolrMetricsContext;
import org.apache.solr.security.AuditEvent.EventType;
@@ -43,12 +41,10 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.LongAdder;
/**
@@ -123,7 +119,7 @@ public abstract class AuditLoggerPlugin extends ParWork.NoLimitsCallable impleme
queue = new BlockingArrayQueue<>(blockingQueueSize);
// nocommit take a closer look at executor usage here
// executorService = ExecutorUtil.newMDCAwareFixedThreadPool(numThreads, new SolrNamedThreadFactory("audit"));
- executorService = ParWork.getExecutor();
+ executorService = ParWork.getMyPerThreadExecutor();
assert runningFuture == null;
runningFuture = executorService.submit(this);
}
diff --git a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
index 74ed713..bb0775a 100644
--- a/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
+++ b/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
@@ -45,10 +45,8 @@ import org.apache.solr.core.SolrInfoBean;
import org.apache.solr.core.SolrPaths;
import org.apache.solr.core.SolrXmlConfig;
import org.apache.solr.core.XmlConfigFile;
-import org.apache.solr.handler.loader.XMLLoader;
import org.apache.solr.metrics.AltBufferPoolMetricSet;
import org.apache.solr.metrics.MetricsMap;
-import org.apache.solr.metrics.OperatingSystemMetricSet;
import org.apache.solr.metrics.SolrMetricManager;
import org.apache.solr.metrics.SolrMetricProducer;
import org.apache.solr.rest.schema.FieldTypeXmlAdapter;
@@ -92,10 +90,7 @@ import java.util.Arrays;
import java.util.Locale;
import java.util.Properties;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Matcher;
@@ -219,7 +214,7 @@ public class SolrDispatchFilter extends BaseSolrFilter {
}finally{
log.trace("SolrDispatchFilter.init() done");
if (cores != null) {
- this.httpClient = cores.getUpdateShardHandler().getUpdateOnlyHttpClient().getHttpClient();
+ this.httpClient = cores.getUpdateShardHandler().getTheSharedHttpClient().getHttpClient();
}
init.countDown();
}
diff --git a/solr/core/src/java/org/apache/solr/update/PeerSync.java b/solr/core/src/java/org/apache/solr/update/PeerSync.java
index 6c2b25c..0efbccd 100644
--- a/solr/core/src/java/org/apache/solr/update/PeerSync.java
+++ b/solr/core/src/java/org/apache/solr/update/PeerSync.java
@@ -114,7 +114,7 @@ public class PeerSync implements SolrMetricProducer {
this.nUpdates = nUpdates;
this.cantReachIsSuccess = cantReachIsSuccess;
this.doFingerprint = doFingerprint && !("true".equals(System.getProperty("solr.disableFingerprint")));
- this.client = core.getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient();
+ this.client = core.getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient();
this.onlyIfActive = onlyIfActive;
uhandler = core.getUpdateHandler();
diff --git a/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java b/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
index 00613e4..70573612 100644
--- a/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
+++ b/solr/core/src/java/org/apache/solr/update/PeerSyncWithLeader.java
@@ -25,11 +25,9 @@ import java.util.function.Supplier;
import com.codahale.metrics.Counter;
import com.codahale.metrics.Timer;
-import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.cloud.ZkController;
@@ -81,7 +79,7 @@ public class PeerSyncWithLeader implements SolrMetricProducer {
this.uhandler = core.getUpdateHandler();
this.ulog = uhandler.getUpdateLog();
Http2SolrClient httpClient = core
- .getCoreContainer().getUpdateShardHandler().getUpdateOnlyHttpClient();
+ .getCoreContainer().getUpdateShardHandler().getTheSharedHttpClient();
this.clientToLeader = new Http2SolrClient.Builder(leaderUrl).withHttpClient(httpClient).markInternalRequest().build();
this.updater = new PeerSync.Updater(msg(), core);
diff --git a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
index 287b218..05425cd 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
@@ -75,7 +75,7 @@ public class SolrCmdDistributor implements Closeable {
public SolrCmdDistributor(UpdateShardHandler updateShardHandler) {
assert ObjectReleaseTracker.track(this);
- this.solrClient = new Http2SolrClient.Builder().markInternalRequest().withHttpClient(updateShardHandler.getUpdateOnlyHttpClient()).idleTimeout(60000).build();
+ this.solrClient = new Http2SolrClient.Builder().markInternalRequest().withHttpClient(updateShardHandler.getTheSharedHttpClient()).idleTimeout(60000).build();
}
public void finish() {
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java b/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
index 99247fc..49f278c 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateShardHandler.java
@@ -193,7 +193,7 @@ public class UpdateShardHandler implements SolrInfoBean {
}
// don't introduce a bug, this client is for sending updates only!
- public Http2SolrClient getUpdateOnlyHttpClient() {
+ public Http2SolrClient getTheSharedHttpClient() {
return updateOnlyClient;
}
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
index 62fedc6..5f5da9f 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
@@ -691,7 +691,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
NamedList<Object> rsp;
try {
ur.setBasePath(leaderUrl);
- rsp = updateShardHandler.getUpdateOnlyHttpClient().request(ur);
+ rsp = updateShardHandler.getTheSharedHttpClient().request(ur);
} catch (SolrServerException e) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Error during fetching [" + id +
"] from leader (" + leaderUrl + "): ", e);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
index ea56cac..95484db 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
@@ -57,9 +57,7 @@ import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.Base64;
import org.apache.solr.common.util.ContentStream;
-import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.common.util.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -89,7 +87,6 @@ import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
/**
@@ -317,7 +314,7 @@ public class HttpSolrClient extends BaseHttpSolrClient {
final HttpRequestBase method = createMethod(request, null);
try {
MDC.put("HttpSolrClient.url", baseUrl);
- mrr.future = (Future<NamedList<Object>>) ((ParWorkExecService) ParWork.getExecutor()).submit(() -> {
+ mrr.future = (Future<NamedList<Object>>) ((ParWorkExecService) ParWork.getMyPerThreadExecutor()).submit(() -> {
try {
executeMethod(method, request.getUserPrincipal(), processor, isV2ApiRequest(request));
} catch (SolrServerException e) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
index fd89a9c..32179e1 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
@@ -50,8 +50,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
import org.apache.solr.client.solrj.io.stream.metrics.Metric;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import static org.apache.solr.common.params.CommonParams.SORT;
@@ -519,7 +517,7 @@ public class GatherNodesStream extends TupleStream implements Expressible {
ExecutorService threadPool = null;
try {
- threadPool = ParWork.getEXEC();
+ threadPool = ParWork.getRootSharedExecutor();
Map<String, Node> roots = new HashMap();
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
index 28f00c1..e53310c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
@@ -49,8 +49,6 @@ import org.apache.solr.client.solrj.io.stream.expr.Explanation.ExpressionType;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.common.util.SolrNamedThreadFactory;
import static org.apache.solr.common.params.CommonParams.SORT;
@@ -299,7 +297,7 @@ public class ShortestPathStream extends TupleStream implements Expressible {
List<Edge> targets = new ArrayList();
ExecutorService threadPool = null;
- threadPool = ParWork.getExecutor();
+ threadPool = ParWork.getMyPerThreadExecutor();
//Breadth first search
TRAVERSE:
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
index 5507cf2..f6eadfa 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
@@ -395,7 +395,7 @@ public class CloudSolrStream extends TupleStream implements Expressible {
}
protected void openStreams() throws IOException {
- final ExecutorService service = ParWork.getExecutor();
+ final ExecutorService service = ParWork.getMyPerThreadExecutor();
List<Future<TupleWrapper>> futures =
solrStreams.stream().map(ss -> service.submit(new StreamOpener((SolrStream)ss, comp))).collect(Collectors.toList());
try {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
index 1e0f8f0..8f34c81 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
@@ -346,7 +346,7 @@ public class DeepRandomStream extends TupleStream implements Expressible {
}
private void openStreams() throws IOException {
- final ExecutorService service = ParWork.getExecutor();
+ final ExecutorService service = ParWork.getMyPerThreadExecutor();
List<Future<TupleWrapper>> futures =
solrStreams.stream().map(ss -> service.submit(new StreamOpener((SolrStream)ss, comp))).collect(Collectors.toList());
try {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
index cf6d8ad..50f3550 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ExecutorStream.java
@@ -132,7 +132,7 @@ public class ExecutorStream extends TupleStream implements Expressible {
}
public void open() throws IOException {
- executorService = ParWork.getExecutor();
+ executorService = ParWork.getMyPerThreadExecutor();
stream.open();
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
index 8c321cf..a5d0945 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
@@ -247,7 +247,7 @@ public class FeaturesSelectionStream extends TupleStream implements Expressible{
}
this.cloudSolrClient = this.cache.getCloudSolrClient(zkHost);
- this.executorService = ParWork.getExecutor();
+ this.executorService = ParWork.getMyPerThreadExecutor();
}
public List<TupleStream> children() {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
index 6562b33..4d372c3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
@@ -133,7 +133,7 @@ public class ParallelListStream extends TupleStream implements Expressible {
}
private void openStreams() throws IOException {
- ExecutorService service = ParWork.getExecutor();
+ ExecutorService service = ParWork.getMyPerThreadExecutor();
List<Future<StreamIndex>> futures = new ArrayList();
int i=0;
for (TupleStream tupleStream : streams) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
index 28169de..b15f14f 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SignificantTermsStream.java
@@ -232,7 +232,7 @@ public class SignificantTermsStream extends TupleStream implements Expressible{
isCloseCache = false;
}
- this.executorService = ParWork.getExecutor();
+ this.executorService = ParWork.getMyPerThreadExecutor();
}
public List<TupleStream> children() {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
index 190b228..5bea3cc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
@@ -327,7 +327,7 @@ public class TextLogitStream extends TupleStream implements Expressible {
}
this.cloudSolrClient = this.cache.getCloudSolrClient(zkHost);
- this.executorService = ParWork.getExecutor();
+ this.executorService = ParWork.getMyPerThreadExecutor();
}
public List<TupleStream> children() {
diff --git a/solr/solrj/src/java/org/apache/solr/common/ParWork.java b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
index 9f28ae5..531054c 100644
--- a/solr/solrj/src/java/org/apache/solr/common/ParWork.java
+++ b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
@@ -72,7 +72,7 @@ public class ParWork implements Closeable {
private static volatile ThreadPoolExecutor EXEC;
// pretty much don't use it
- public static ThreadPoolExecutor getEXEC() {
+ public static ThreadPoolExecutor getRootSharedExecutor() {
if (EXEC == null) {
synchronized (ParWork.class) {
if (EXEC == null) {
@@ -375,7 +375,7 @@ public class ParWork implements Closeable {
ParWorkExecService executor = null;
if (needExec) {
- executor = (ParWorkExecService) getExecutor();
+ executor = (ParWorkExecService) getMyPerThreadExecutor();
}
//initExecutor();
AtomicReference<Throwable> exception = new AtomicReference<>();
@@ -499,7 +499,7 @@ public class ParWork implements Closeable {
}
}
- public static ExecutorService getExecutor() {
+ public static ExecutorService getMyPerThreadExecutor() {
// if (executor != null) return executor;
ExecutorService exec = THREAD_LOCAL_EXECUTOR.get();
if (exec == null) {
@@ -528,11 +528,11 @@ public class ParWork implements Closeable {
}
public static ExecutorService getExecutorService(int maximumPoolSize) {
- return new ParWorkExecService(getEXEC(), maximumPoolSize);
+ return new ParWorkExecService(getRootSharedExecutor(), maximumPoolSize);
}
public static ExecutorService getExecutorService(int maximumPoolSize, boolean noCallerRuns) {
- return new ParWorkExecService(getEXEC(), maximumPoolSize, noCallerRuns);
+ return new ParWorkExecService(getRootSharedExecutor(), maximumPoolSize, noCallerRuns);
}
private void handleObject(AtomicReference<Throwable> exception, final TimeTracker workUnitTracker, ParObject ob) {
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index 4e2cd2c..88b8f5f 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -41,8 +41,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static java.util.Collections.EMPTY_MAP;
-import static java.util.Collections.emptyMap;
-import static java.util.Collections.emptySet;
import static java.util.Collections.emptySortedSet;
import static org.apache.solr.common.util.Utils.fromJSON;
import java.lang.invoke.MethodHandles;
@@ -57,7 +55,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Objects;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -206,7 +203,7 @@ public class ZkStateReader implements SolrCloseable {
private Set<CloudCollectionsListener> cloudCollectionsListeners = ConcurrentHashMap.newKeySet();
- private final ExecutorService notifications = ParWork.getEXEC();
+ private final ExecutorService notifications = ParWork.getRootSharedExecutor();
private final Set<LiveNodesListener> liveNodesListeners = ConcurrentHashMap.newKeySet();
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/SolrQueuedThreadPool.java b/solr/solrj/src/java/org/apache/solr/common/util/SolrQueuedThreadPool.java
index 688279c..6c96716 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/SolrQueuedThreadPool.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/SolrQueuedThreadPool.java
@@ -672,7 +672,7 @@ public class SolrQueuedThreadPool extends ContainerLifeCycle implements ThreadFa
try
{
Thread thread = _threadFactory.newThread(_runnable);
- ParWork.getEXEC().execute(thread);
+ ParWork.getRootSharedExecutor().execute(thread);
if (LOG.isDebugEnabled())
LOG.debug("Starting {}", thread);
_threads.add(thread);
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 16f5f0e..8bf2a14 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
@@ -38,8 +38,6 @@ import com.carrotsearch.randomizedtesting.RandomizedContext;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.generators.RandomPicks;
-import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.lucene50.Lucene50StoredFieldsFormat;
import org.apache.lucene.codecs.lucene86.Lucene86Codec;
import org.apache.lucene.util.Constants;
@@ -50,19 +48,13 @@ import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.cloud.autoscaling.ScheduledTriggers;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.ParWorkExecService;
-import org.apache.solr.common.ParWorkExecutor;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.TimeTracker;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.ObjectReleaseTracker;
import org.apache.solr.common.util.SolrQueuedThreadPool;
import org.apache.solr.common.util.SysStats;
-import org.apache.solr.core.CoreContainer;
-import org.apache.solr.core.SolrXmlConfig;
-import org.apache.solr.core.XmlConfigFile;
-import org.apache.solr.rest.schema.FieldTypeXmlAdapter;
import org.apache.solr.servlet.SolrDispatchFilter;
import org.apache.solr.util.ExternalPaths;
import org.apache.solr.util.RandomizeSSL;
@@ -84,8 +76,6 @@ import org.slf4j.LoggerFactory;
import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
-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
@@ -209,7 +199,7 @@ public class SolrTestCase extends LuceneTestCase {
testStartTime = System.nanoTime();
- testExecutor = ParWork.getExecutor();
+ testExecutor = ParWork.getMyPerThreadExecutor();
((ParWorkExecService) testExecutor).closeLock(true);
// stop zkserver threads that can linger
//interruptThreadsOnTearDown("nioEventLoopGroup", false);