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 2013/07/01 18:13:09 UTC
svn commit: r1498541 - in /lucene/dev/branches/branch_4x: ./ solr/
solr/core/ solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
Author: markrmiller
Date: Mon Jul 1 16:13:09 2013
New Revision: 1498541
URL: http://svn.apache.org/r1498541
Log:
SOLR-4981: Share HttpClient across SolrServers and shut it down on close
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java?rev=1498541&r1=1498540&r2=1498541&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java Mon Jul 1 16:13:09 2013
@@ -62,8 +62,8 @@ public class SyncStrategy {
private volatile boolean isClosed;
- private final static HttpClient client;
- static {
+ private final HttpClient client;
+ {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(HttpClientUtil.PROP_MAX_CONNECTIONS, 10000);
params.set(HttpClientUtil.PROP_MAX_CONNECTIONS_PER_HOST, 20);
@@ -112,20 +112,6 @@ public class SyncStrategy {
log.info("We have been closed, won't sync with replicas");
return false;
}
- // if no one that is up is active, we are willing to wait...
- // we don't want a recovering node to become leader and then
- // a better candidate pops up a second later.
-// int tries = 20;
-// while (!areAnyReplicasActive(zkController, collection, shardId)) {
-// if (tries-- == 0) {
-// break;
-// }
-// try {
-// Thread.sleep(500);
-// } catch (InterruptedException e) {
-// Thread.currentThread().interrupt();
-// }
-// }
// first sync ourselves - we are the potential leader after all
try {
@@ -273,6 +259,11 @@ public class SyncStrategy {
public void close() {
this.isClosed = true;
try {
+ client.getConnectionManager().shutdown();
+ } catch (Throwable e) {
+ SolrException.log(log, e);
+ }
+ try {
ExecutorUtil.shutdownNowAndAwaitTermination(recoveryCmdExecutor);
} catch (Throwable e) {
SolrException.log(log, e);
@@ -290,7 +281,7 @@ public class SyncStrategy {
recoverRequestCmd.setAction(CoreAdminAction.REQUESTRECOVERY);
recoverRequestCmd.setCoreName(coreName);
- HttpSolrServer server = new HttpSolrServer(baseUrl);
+ HttpSolrServer server = new HttpSolrServer(baseUrl, client);
server.setConnectionTimeout(45000);
server.setSoTimeout(45000);
try {