You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2015/01/28 13:15:12 UTC
svn commit: r1655273 [1/4] - in /lucene/dev/branches/branch_5x: ./ solr/
solr/contrib/
solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/
solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/
solr/contrib/...
Author: romseygeek
Date: Wed Jan 28 12:15:10 2015
New Revision: 1655273
URL: http://svn.apache.org/r1655273
Log:
SOLR-6954: SolrClient implements Closeable
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/solr/contrib/ (props changed)
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java
lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java
lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/util/SolrCLI.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/AliasIntegrationTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/AsyncMigrateRouteKeyTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIAsyncDistributedZkTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/CollectionsAPIDistributedZkTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTests.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/CustomCollectionTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/DeleteLastCustomShardedReplicaTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/DeleteShardTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ExternalCollectionsTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/LeaderFailoverAfterPartitionTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/LeaderInitiatedRecoveryOnCommitTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/MigrateRouteKeyTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/MultiThreadedOCPTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/OverseerStatusTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/RemoteQueryErrorTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/ShardSplitTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestCollectionAPI.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterSSL.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestReplicaProperties.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestRequestStatusCollectionAPI.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/UnloadDistributedZkTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/hdfs/StressHdfsTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/OpenCloseCoreStressTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerBackup.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/admin/CoreAdminHandlerTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/component/DistributedDebugComponentTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/schema/TestBinaryField.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSolrJ.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/update/MockStreamingSolrClients.java
lucene/dev/branches/branch_5x/solr/solrj/ (props changed)
lucene/dev/branches/branch_5x/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/LargeVolumeTestBase.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/TestLBHttpSolrClient.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServer.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientMultiConstructorTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ExternalHttpClientTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttpSolrClientTest.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
lucene/dev/branches/branch_5x/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java
lucene/dev/branches/branch_5x/solr/test-framework/ (props changed)
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
lucene/dev/branches/branch_5x/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Wed Jan 28 12:15:10 2015
@@ -41,6 +41,10 @@ New Features
* SOLR-6449: Add first class support for Real Time Get in Solrj.
(Anurag Sharma, Steve Davids via shalin)
+* SOLR-6954: SolrClient now implements Closeable, and shutdown() has been
+ deprecated in favour of close(). (Mark Miller, Tomás Fernández Löbbe, Alan
+ Woodward)
+
Other Changes
----------------------
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/SolrEntityProcessor.java Wed Jan 28 12:15:10 2015
@@ -17,16 +17,6 @@ package org.apache.solr.handler.dataimpo
* limitations under the License.
*/
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
-import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
@@ -41,6 +31,17 @@ import org.apache.solr.common.params.Com
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.SEVERE;
+import static org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow;
+
/**
* <p>
* An implementation of {@link EntityProcessor} which fetches values from a
@@ -75,7 +76,9 @@ public class SolrEntityProcessor extends
@Override
public void destroy() {
try {
- solrClient.shutdown();
+ solrClient.close();
+ } catch (IOException e) {
+
} finally {
HttpClientUtil.close(((HttpSolrClient) solrClient).getHttpClient());
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestContentStreamDataSource.java Wed Jan 28 12:15:10 2015
@@ -68,8 +68,7 @@ public class TestContentStreamDataSource
params.set("command", "full-import");
params.set("clean", "false");
req.setParams(params);
- HttpSolrClient solrClient = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"));
- try {
+ try (HttpSolrClient solrClient = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"))) {
solrClient.request(req);
ModifiableSolrParams qparams = new ModifiableSolrParams();
qparams.add("q", "*:*");
@@ -78,9 +77,7 @@ public class TestContentStreamDataSource
assertEquals(2, results.getNumFound());
SolrDocument doc = results.get(0);
assertEquals("1", doc.getFieldValue("id"));
- assertEquals("Hello C1", ((List)doc.getFieldValue("desc")).get(0));
- } finally {
- solrClient.shutdown();
+ assertEquals("Hello C1", ((List) doc.getFieldValue("desc")).get(0));
}
}
@@ -91,22 +88,22 @@ public class TestContentStreamDataSource
"clean", "false", UpdateParams.COMMIT, "false",
UpdateParams.COMMIT_WITHIN, "1000");
req.setParams(params);
- HttpSolrClient solrServer = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"));
- solrServer.request(req);
- Thread.sleep(100);
- ModifiableSolrParams queryAll = params("q", "*");
- QueryResponse qres = solrServer.query(queryAll);
- SolrDocumentList results = qres.getResults();
- assertEquals(0, results.getNumFound());
- Thread.sleep(1000);
- for (int i = 0; i < 10; i++) {
- qres = solrServer.query(queryAll);
- results = qres.getResults();
- if (2 == results.getNumFound()) {
- solrServer.shutdown();
- return;
+ try (HttpSolrClient solrServer = new HttpSolrClient(buildUrl(jetty.getLocalPort(), "/solr/collection1"))) {
+ solrServer.request(req);
+ Thread.sleep(100);
+ ModifiableSolrParams queryAll = params("q", "*");
+ QueryResponse qres = solrServer.query(queryAll);
+ SolrDocumentList results = qres.getResults();
+ assertEquals(0, results.getNumFound());
+ Thread.sleep(1000);
+ for (int i = 0; i < 10; i++) {
+ qres = solrServer.query(queryAll);
+ results = qres.getResults();
+ if (2 == results.getNumFound()) {
+ return;
+ }
+ Thread.sleep(500);
}
- Thread.sleep(500);
}
fail("Commit should have occured but it did not");
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestSolrEntityProcessorEndToEnd.java Wed Jan 28 12:15:10 2015
@@ -280,15 +280,12 @@ public class TestSolrEntityProcessorEndT
}
sidl.add(sd);
}
-
- HttpSolrClient solrServer = new HttpSolrClient(getSourceUrl());
- try {
+
+ try (HttpSolrClient solrServer = new HttpSolrClient(getSourceUrl())) {
solrServer.setConnectionTimeout(15000);
solrServer.setSoTimeout(30000);
solrServer.add(sidl);
solrServer.commit(true, true);
- } finally {
- solrServer.shutdown();
}
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/BatchWriter.java Wed Jan 28 12:15:10 2015
@@ -16,6 +16,15 @@
*/
package org.apache.solr.hadoop;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.apache.hadoop.mapreduce.TaskID;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
+import org.apache.solr.client.solrj.response.UpdateResponse;
+import org.apache.solr.common.SolrInputDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@@ -26,15 +35,6 @@ import java.util.concurrent.ThreadPoolEx
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.TaskID;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
-import org.apache.solr.client.solrj.response.UpdateResponse;
-import org.apache.solr.common.SolrInputDocument;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Enables adding batches of documents to an EmbeddedSolrServer.
*/
@@ -209,7 +209,7 @@ class BatchWriter {
context.setStatus("Committing Solr Phase 2");
solr.commit(true, false);
context.setStatus("Shutting down Solr");
- solr.shutdown();
+ solr.close();
}
/**
Modified: lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/GoLive.java Wed Jan 28 12:15:10 2015
@@ -16,6 +16,15 @@
*/
package org.apache.solr.hadoop;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.request.CoreAdminRequest;
+import org.apache.solr.hadoop.MapReduceIndexerTool.Options;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
@@ -31,15 +40,6 @@ import java.util.concurrent.LinkedBlocki
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.apache.solr.client.solrj.request.CoreAdminRequest;
-import org.apache.solr.hadoop.MapReduceIndexerTool.Options;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* The optional (parallel) GoLive phase merges the output shards of the previous
* phase into a set of live customer facing Solr servers, typically a SolrCloud.
@@ -91,23 +91,14 @@ class GoLive {
public Request call() {
Request req = new Request();
LOG.info("Live merge " + dir.getPath() + " into " + mergeUrl);
- final HttpSolrClient server = new HttpSolrClient(mergeUrl);
- try {
+ try (final HttpSolrClient client = new HttpSolrClient(mergeUrl)) {
CoreAdminRequest.MergeIndexes mergeRequest = new CoreAdminRequest.MergeIndexes();
mergeRequest.setCoreName(name);
mergeRequest.setIndexDirs(Arrays.asList(dir.getPath().toString() + "/data/index"));
- try {
- mergeRequest.process(server);
- req.success = true;
- } catch (SolrServerException e) {
- req.e = e;
- return req;
- } catch (IOException e) {
- req.e = e;
- return req;
- }
- } finally {
- server.shutdown();
+ mergeRequest.process(client);
+ req.success = true;
+ } catch (SolrServerException | IOException e) {
+ req.e = e;
}
return req;
}
@@ -149,17 +140,17 @@ class GoLive {
try {
LOG.info("Committing live merge...");
if (options.zkHost != null) {
- CloudSolrClient server = new CloudSolrClient(options.zkHost);
- server.setDefaultCollection(options.collection);
- server.commit();
- server.shutdown();
+ try (CloudSolrClient server = new CloudSolrClient(options.zkHost)) {
+ server.setDefaultCollection(options.collection);
+ server.commit();
+ }
} else {
for (List<String> urls : options.shardUrls) {
for (String url : urls) {
// TODO: we should do these concurrently
- HttpSolrClient server = new HttpSolrClient(url);
- server.commit();
- server.shutdown();
+ try (HttpSolrClient server = new HttpSolrClient(url)) {
+ server.commit();
+ }
}
}
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MorphlineGoLiveMiniMRTest.java Wed Jan 28 12:15:10 2015
@@ -16,23 +16,13 @@
*/
package org.apache.solr.hadoop;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.lang.reflect.Array;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -47,9 +37,9 @@ import org.apache.lucene.util.Constants;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
-import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
@@ -75,13 +65,22 @@ import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction.Action;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies.Consequence;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.lang.reflect.Array;
+import java.net.URI;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
@ThreadLeakAction({Action.WARN})
@ThreadLeakLingering(linger = 0)
@@ -370,143 +369,144 @@ public class MorphlineGoLiveMiniMRTest e
MapReduceIndexerTool tool;
int res;
QueryResponse results;
- HttpSolrClient server = new HttpSolrClient(cloudJettys.get(0).url);
String[] args = new String[]{};
-
- args = new String[] {
- "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
- "--output-dir=" + outDir.toString(),
- "--log4j=" + getFile("log4j.properties").getAbsolutePath(),
- "--mappers=3",
- random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
- "--go-live-threads", Integer.toString(random().nextInt(15) + 1),
- "--verbose",
- "--go-live"
- };
- args = prependInitialArgs(args);
List<String> argList = new ArrayList<>();
- getShardUrlArgs(argList);
- args = concat(args, argList.toArray(new String[0]));
-
- if (true) {
- tool = new MapReduceIndexerTool();
- res = ToolRunner.run(jobConf, tool, args);
- assertEquals(0, res);
- assertTrue(tool.job.isComplete());
- assertTrue(tool.job.isSuccessful());
- results = server.query(new SolrQuery("*:*"));
- assertEquals(20, results.getResults().getNumFound());
- }
-
- fs.delete(inDir, true);
- fs.delete(outDir, true);
- fs.delete(dataDir, true);
- assertTrue(fs.mkdirs(inDir));
- INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile2);
- args = new String[] {
- "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
- "--output-dir=" + outDir.toString(),
- "--mappers=3",
- "--verbose",
- "--go-live",
- random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
- "--go-live-threads", Integer.toString(random().nextInt(15) + 1)
- };
- args = prependInitialArgs(args);
- argList = new ArrayList<>();
- getShardUrlArgs(argList);
- args = concat(args, argList.toArray(new String[0]));
-
- if (true) {
- tool = new MapReduceIndexerTool();
- res = ToolRunner.run(jobConf, tool, args);
- assertEquals(0, res);
- assertTrue(tool.job.isComplete());
- assertTrue(tool.job.isSuccessful());
- results = server.query(new SolrQuery("*:*"));
-
- assertEquals(22, results.getResults().getNumFound());
- }
-
- // try using zookeeper
- String collection = "collection1";
- if (random().nextBoolean()) {
- // sometimes, use an alias
- createAlias("updatealias", "collection1");
- collection = "updatealias";
- }
-
- fs.delete(inDir, true);
- fs.delete(outDir, true);
- fs.delete(dataDir, true);
- INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile3);
+ try (HttpSolrClient server = new HttpSolrClient(cloudJettys.get(0).url)) {
- cloudClient.deleteByQuery("*:*");
- cloudClient.commit();
- assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+ args = new String[]{
+ "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
+ "--output-dir=" + outDir.toString(),
+ "--log4j=" + getFile("log4j.properties").getAbsolutePath(),
+ "--mappers=3",
+ random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+ "--go-live-threads", Integer.toString(random().nextInt(15) + 1),
+ "--verbose",
+ "--go-live"
+ };
+ args = prependInitialArgs(args);
+ getShardUrlArgs(argList);
+ args = concat(args, argList.toArray(new String[0]));
+
+ if (true) {
+ tool = new MapReduceIndexerTool();
+ res = ToolRunner.run(jobConf, tool, args);
+ assertEquals(0, res);
+ assertTrue(tool.job.isComplete());
+ assertTrue(tool.job.isSuccessful());
+ results = server.query(new SolrQuery("*:*"));
+ assertEquals(20, results.getResults().getNumFound());
+ }
- args = new String[] {
- "--output-dir=" + outDir.toString(),
- "--mappers=3",
- "--reducers=12",
- "--fanout=2",
- "--verbose",
- "--go-live",
- random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
- "--zk-host", zkServer.getZkAddress(),
- "--collection", collection
- };
- args = prependInitialArgs(args);
+ fs.delete(inDir, true);
+ fs.delete(outDir, true);
+ fs.delete(dataDir, true);
+ assertTrue(fs.mkdirs(inDir));
+ INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile2);
+
+ args = new String[]{
+ "--solr-home-dir=" + MINIMR_CONF_DIR.getAbsolutePath(),
+ "--output-dir=" + outDir.toString(),
+ "--mappers=3",
+ "--verbose",
+ "--go-live",
+ random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+ "--go-live-threads", Integer.toString(random().nextInt(15) + 1)
+ };
+ args = prependInitialArgs(args);
+
+ getShardUrlArgs(argList);
+ args = concat(args, argList.toArray(new String[0]));
+
+ if (true) {
+ tool = new MapReduceIndexerTool();
+ res = ToolRunner.run(jobConf, tool, args);
+ assertEquals(0, res);
+ assertTrue(tool.job.isComplete());
+ assertTrue(tool.job.isSuccessful());
+ results = server.query(new SolrQuery("*:*"));
- if (true) {
- tool = new MapReduceIndexerTool();
- res = ToolRunner.run(jobConf, tool, args);
- assertEquals(0, res);
- assertTrue(tool.job.isComplete());
- assertTrue(tool.job.isSuccessful());
-
- SolrDocumentList resultDocs = executeSolrQuery(cloudClient, "*:*");
- assertEquals(RECORD_COUNT, resultDocs.getNumFound());
- assertEquals(RECORD_COUNT, resultDocs.size());
-
- // perform updates
- for (int i = 0; i < RECORD_COUNT; i++) {
+ assertEquals(22, results.getResults().getNumFound());
+ }
+
+ // try using zookeeper
+ String collection = "collection1";
+ if (random().nextBoolean()) {
+ // sometimes, use an alias
+ createAlias("updatealias", "collection1");
+ collection = "updatealias";
+ }
+
+ fs.delete(inDir, true);
+ fs.delete(outDir, true);
+ fs.delete(dataDir, true);
+ INPATH = upAvroFile(fs, inDir, DATADIR, dataDir, inputAvroFile3);
+
+ cloudClient.deleteByQuery("*:*");
+ cloudClient.commit();
+ assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+
+ args = new String[]{
+ "--output-dir=" + outDir.toString(),
+ "--mappers=3",
+ "--reducers=12",
+ "--fanout=2",
+ "--verbose",
+ "--go-live",
+ random().nextBoolean() ? "--input-list=" + INPATH.toString() : dataDir.toString(),
+ "--zk-host", zkServer.getZkAddress(),
+ "--collection", collection
+ };
+ args = prependInitialArgs(args);
+
+ if (true) {
+ tool = new MapReduceIndexerTool();
+ res = ToolRunner.run(jobConf, tool, args);
+ assertEquals(0, res);
+ assertTrue(tool.job.isComplete());
+ assertTrue(tool.job.isSuccessful());
+
+ SolrDocumentList resultDocs = executeSolrQuery(cloudClient, "*:*");
+ assertEquals(RECORD_COUNT, resultDocs.getNumFound());
+ assertEquals(RECORD_COUNT, resultDocs.size());
+
+ // perform updates
+ for (int i = 0; i < RECORD_COUNT; i++) {
SolrDocument doc = resultDocs.get(i);
SolrInputDocument update = new SolrInputDocument();
for (Map.Entry<String, Object> entry : doc.entrySet()) {
- update.setField(entry.getKey(), entry.getValue());
+ update.setField(entry.getKey(), entry.getValue());
}
update.setField("user_screen_name", "Nadja" + i);
update.removeField("_version_");
cloudClient.add(update);
- }
- cloudClient.commit();
-
- // verify updates
- SolrDocumentList resultDocs2 = executeSolrQuery(cloudClient, "*:*");
- assertEquals(RECORD_COUNT, resultDocs2.getNumFound());
- assertEquals(RECORD_COUNT, resultDocs2.size());
- for (int i = 0; i < RECORD_COUNT; i++) {
+ }
+ cloudClient.commit();
+
+ // verify updates
+ SolrDocumentList resultDocs2 = executeSolrQuery(cloudClient, "*:*");
+ assertEquals(RECORD_COUNT, resultDocs2.getNumFound());
+ assertEquals(RECORD_COUNT, resultDocs2.size());
+ for (int i = 0; i < RECORD_COUNT; i++) {
SolrDocument doc = resultDocs.get(i);
SolrDocument doc2 = resultDocs2.get(i);
assertEquals(doc.getFirstValue("id"), doc2.getFirstValue("id"));
assertEquals("Nadja" + i, doc2.getFirstValue("user_screen_name"));
assertEquals(doc.getFirstValue("text"), doc2.getFirstValue("text"));
-
+
// perform delete
- cloudClient.deleteById((String)doc.getFirstValue("id"));
+ cloudClient.deleteById((String) doc.getFirstValue("id"));
+ }
+ cloudClient.commit();
+
+ // verify deletes
+ assertEquals(0, executeSolrQuery(cloudClient, "*:*").size());
}
+
+ cloudClient.deleteByQuery("*:*");
cloudClient.commit();
-
- // verify deletes
- assertEquals(0, executeSolrQuery(cloudClient, "*:*").size());
- }
-
- cloudClient.deleteByQuery("*:*");
- cloudClient.commit();
- assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
- server.shutdown();
+ assertEquals(0, cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound());
+ }
// try using zookeeper with replication
String replicatedCollection = "replicated_collection";
@@ -693,25 +693,24 @@ public class MorphlineGoLiveMiniMRTest e
}
private void checkConsistency(String replicatedCollection)
- throws SolrServerException {
+ throws Exception {
Collection<Slice> slices = cloudClient.getZkStateReader().getClusterState()
.getSlices(replicatedCollection);
for (Slice slice : slices) {
Collection<Replica> replicas = slice.getReplicas();
long found = -1;
for (Replica replica : replicas) {
- HttpSolrClient client = new HttpSolrClient(
- new ZkCoreNodeProps(replica).getCoreUrl());
- SolrQuery query = new SolrQuery("*:*");
- query.set("distrib", false);
- QueryResponse replicaResults = client.query(query);
- long count = replicaResults.getResults().getNumFound();
- if (found != -1) {
- assertEquals(slice.getName() + " is inconsistent "
- + new ZkCoreNodeProps(replica).getCoreUrl(), found, count);
+ try (HttpSolrClient client = new HttpSolrClient(new ZkCoreNodeProps(replica).getCoreUrl())) {
+ SolrQuery query = new SolrQuery("*:*");
+ query.set("distrib", false);
+ QueryResponse replicaResults = client.query(query);
+ long count = replicaResults.getResults().getNumFound();
+ if (found != -1) {
+ assertEquals(slice.getName() + " is inconsistent "
+ + new ZkCoreNodeProps(replica).getCoreUrl(), found, count);
+ }
+ found = count;
}
- found = count;
- client.shutdown();
}
}
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/UtilsForTests.java Wed Jan 28 12:15:10 2015
@@ -16,11 +16,6 @@
*/
package org.apache.solr.hadoop;
-import static org.junit.Assert.assertEquals;
-
-import java.io.File;
-import java.io.IOException;
-
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -29,6 +24,11 @@ import org.apache.solr.client.solrj.Solr
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
+import java.io.File;
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+
public class UtilsForTests {
@@ -40,17 +40,13 @@ public class UtilsForTests {
for (FileStatus dir : fs.listStatus(outDir)) { // for each shard
if (dir.getPath().getName().startsWith("part") && dir.isDirectory()) {
actualShards++;
- EmbeddedSolrServer solr = SolrRecordWriter.createEmbeddedSolrServer(
- new Path(solrHomeDir.getAbsolutePath()), fs, dir.getPath());
-
- try {
+ try (EmbeddedSolrServer solr
+ = SolrRecordWriter.createEmbeddedSolrServer(new Path(solrHomeDir.getAbsolutePath()), fs, dir.getPath())) {
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
QueryResponse resp = solr.query(query);
long numDocs = resp.getResults().getNumFound();
actualDocs += numDocs;
- } finally {
- solr.shutdown();
}
}
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/java/org/apache/solr/morphlines/solr/SolrClientDocumentLoader.java Wed Jan 28 12:15:10 2015
@@ -105,9 +105,9 @@ public class SolrClientDocumentLoader im
}
@Override
- public void shutdown() {
+ public void shutdown() throws IOException {
LOGGER.trace("shutdown");
- client.shutdown();
+ client.close();
}
@Override
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java Wed Jan 28 12:15:10 2015
@@ -139,7 +139,7 @@ public class AbstractSolrMorphlineTestBa
@After
public void tearDown() throws Exception {
collector = null;
- solrClient.shutdown();
+ solrClient.close();
solrClient = null;
super.tearDown();
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/EmbeddedTestSolrServer.java Wed Jan 28 12:15:10 2015
@@ -34,7 +34,7 @@ public class EmbeddedTestSolrServer exte
}
@Override
- public void shutdown() {
+ public void close() {
; // NOP
}
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkAvroTest.java Wed Jan 28 12:15:10 2015
@@ -132,7 +132,7 @@ public class SolrMorphlineZkAvroTest ext
Notifications.notifyRollbackTransaction(morphline);
Notifications.notifyShutdown(morphline);
- cloudClient.shutdown();
+ cloudClient.close();
}
private void assertTweetEquals(GenericData.Record expected, Record actual, int i) {
Modified: lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/SolrMorphlineZkTest.java Wed Jan 28 12:15:10 2015
@@ -27,7 +27,6 @@ import org.apache.lucene.util.LuceneTest
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.kitesdk.morphline.api.Record;
import org.kitesdk.morphline.base.Fields;
@@ -93,7 +92,7 @@ public class SolrMorphlineZkTest extends
Notifications.notifyRollbackTransaction(morphline);
Notifications.notifyShutdown(morphline);
- cloudClient.shutdown();
+ cloudClient.close();
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java Wed Jan 28 12:15:10 2015
@@ -213,9 +213,15 @@ public class EmbeddedSolrServer extends
* Shutdown all cores within the EmbeddedSolrServer instance
*/
@Override
+ @Deprecated
public void shutdown() {
coreContainer.shutdown();
}
+
+ @Override
+ public void close() throws IOException {
+ shutdown();
+ }
/**
* Getter method for the CoreContainer
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/LeaderInitiatedRecoveryThread.java Wed Jan 28 12:15:10 2015
@@ -113,9 +113,8 @@ public class LeaderInitiatedRecoveryThre
} else {
log.info("Asking core={} coreNodeName={} on " + recoveryUrl + " to recover", coreNeedingRecovery, replicaCoreNodeName);
}
-
- HttpSolrClient client = new HttpSolrClient(recoveryUrl);
- try {
+
+ try (HttpSolrClient client = new HttpSolrClient(recoveryUrl)) {
client.setSoTimeout(60000);
client.setConnectionTimeout(15000);
try {
@@ -139,8 +138,6 @@ public class LeaderInitiatedRecoveryThre
continueTrying = false;
}
}
- } finally {
- client.shutdown();
}
// wait a few seconds
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerAutoReplicaFailoverThread.java Wed Jan 28 12:15:10 2015
@@ -17,20 +17,8 @@ package org.apache.solr.cloud;
* limitations under the License.
*/
-import java.io.Closeable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.TimeUnit;
-
+import com.google.common.cache.Cache;
+import com.google.common.cache.CacheBuilder;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CoreAdminRequest.Create;
import org.apache.solr.common.SolrException;
@@ -45,8 +33,19 @@ import org.apache.solr.update.UpdateShar
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
+import java.io.Closeable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.TimeUnit;
// TODO: how to tmp exclude nodes?
@@ -422,12 +421,11 @@ public class OverseerAutoReplicaFailover
private boolean createSolrCore(final String collection,
final String createUrl, final String dataDir, final String ulogDir,
final String coreNodeName, final String coreName) {
- HttpSolrClient server = null;
- try {
+
+ try (HttpSolrClient client = new HttpSolrClient(createUrl)) {
log.debug("create url={}", createUrl);
- server = new HttpSolrClient(createUrl);
- server.setConnectionTimeout(30000);
- server.setSoTimeout(60000);
+ client.setConnectionTimeout(30000);
+ client.setSoTimeout(60000);
Create createCmd = new Create();
createCmd.setCollection(collection);
createCmd.setCoreNodeName(coreNodeName);
@@ -436,14 +434,10 @@ public class OverseerAutoReplicaFailover
createCmd.setCoreName(coreName);
createCmd.setDataDir(dataDir);
createCmd.setUlogDir(ulogDir);
- server.request(createCmd);
+ client.request(createCmd);
} catch (Exception e) {
SolrException.log(log, "Exception trying to create new replica on " + createUrl, e);
return false;
- } finally {
- if (server != null) {
- server.shutdown();
- }
}
return true;
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java Wed Jan 28 12:15:10 2015
@@ -1800,19 +1800,14 @@ public class OverseerCollectionProcessor
static UpdateResponse softCommit(String url) throws SolrServerException, IOException {
- HttpSolrClient client = null;
- try {
- client = new HttpSolrClient(url);
+
+ try (HttpSolrClient client = new HttpSolrClient(url)) {
client.setConnectionTimeout(30000);
client.setSoTimeout(120000);
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams());
ureq.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, true, true);
return ureq.process(client);
- } finally {
- if (client != null) {
- client.shutdown();
- }
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java Wed Jan 28 12:15:10 2015
@@ -200,17 +200,14 @@ public class RecoveryStrategy extends Th
private void commitOnLeader(String leaderUrl) throws SolrServerException,
IOException {
- HttpSolrClient server = new HttpSolrClient(leaderUrl);
- try {
- server.setConnectionTimeout(30000);
+ try (HttpSolrClient client = new HttpSolrClient(leaderUrl)) {
+ client.setConnectionTimeout(30000);
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams());
ureq.getParams().set(DistributedUpdateProcessor.COMMIT_END_POINT, true);
ureq.getParams().set(UpdateParams.OPEN_SEARCHER, false);
ureq.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, true).process(
- server);
- } finally {
- server.shutdown();
+ client);
}
}
@@ -594,9 +591,9 @@ public class RecoveryStrategy extends Th
private void sendPrepRecoveryCmd(String leaderBaseUrl, String leaderCoreName, Slice slice)
throws SolrServerException, IOException, InterruptedException, ExecutionException {
- HttpSolrClient server = new HttpSolrClient(leaderBaseUrl);
- try {
- server.setConnectionTimeout(30000);
+
+ try (HttpSolrClient client = new HttpSolrClient(leaderBaseUrl)) {
+ client.setConnectionTimeout(30000);
WaitForState prepCmd = new WaitForState();
prepCmd.setCoreName(leaderCoreName);
prepCmd.setNodeName(zkController.getNodeName());
@@ -607,14 +604,12 @@ public class RecoveryStrategy extends Th
if (!Slice.CONSTRUCTION.equals(slice.getState()) && !Slice.RECOVERY.equals(slice.getState())) {
prepCmd.setOnlyIfLeaderActive(true);
}
- HttpUriRequestResponse mrr = server.httpUriRequest(prepCmd);
+ HttpUriRequestResponse mrr = client.httpUriRequest(prepCmd);
prevSendPreRecoveryHttpUriRequest = mrr.httpUriRequest;
log.info("Sending prep recovery command to {}; {}", leaderBaseUrl, prepCmd.toString());
mrr.future.get();
- } finally {
- server.shutdown();
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java Wed Jan 28 12:15:10 2015
@@ -267,8 +267,8 @@ public class SyncStrategy {
recoverRequestCmd.setAction(CoreAdminAction.REQUESTRECOVERY);
recoverRequestCmd.setCoreName(coreName);
- HttpSolrClient client = new HttpSolrClient(baseUrl, SyncStrategy.this.client);
- try {
+ ;
+ try (HttpSolrClient client = new HttpSolrClient(baseUrl, SyncStrategy.this.client)) {
client.setConnectionTimeout(30000);
client.setSoTimeout(120000);
client.request(recoverRequestCmd);
@@ -277,8 +277,6 @@ public class SyncStrategy {
if (t instanceof Error) {
throw (Error) t;
}
- } finally {
- client.shutdown();
}
}
};
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/ZkController.java Wed Jan 28 12:15:10 2015
@@ -50,7 +50,6 @@ import org.apache.solr.core.CloseHook;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.handler.component.ShardHandler;
import org.apache.solr.update.UpdateLog;
import org.apache.solr.update.UpdateShardHandler;
@@ -1634,9 +1633,7 @@ public final class ZkController {
log.info("Replica "+myCoreNodeName+
" NOT in leader-initiated recovery, need to wait for leader to see down state.");
- HttpSolrClient client = null;
- client = new HttpSolrClient(leaderBaseUrl);
- try {
+ try (HttpSolrClient client = new HttpSolrClient(leaderBaseUrl)) {
client.setConnectionTimeout(15000);
client.setSoTimeout(120000);
WaitForState prepCmd = new WaitForState();
@@ -1687,8 +1684,8 @@ public final class ZkController {
}
}
}
- } finally {
- client.shutdown();
+ } catch (IOException e) {
+ SolrException.log(log, "Error closing HttpSolrClient", e);
}
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SnapPuller.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SnapPuller.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SnapPuller.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SnapPuller.java Wed Jan 28 12:15:10 2015
@@ -16,25 +16,43 @@
*/
package org.apache.solr.handler;
-import static org.apache.solr.handler.ReplicationHandler.ALIAS;
-import static org.apache.solr.handler.ReplicationHandler.CHECKSUM;
-import static org.apache.solr.handler.ReplicationHandler.CMD_DETAILS;
-import static org.apache.solr.handler.ReplicationHandler.CMD_GET_FILE;
-import static org.apache.solr.handler.ReplicationHandler.CMD_GET_FILE_LIST;
-import static org.apache.solr.handler.ReplicationHandler.CMD_INDEX_VERSION;
-import static org.apache.solr.handler.ReplicationHandler.COMMAND;
-import static org.apache.solr.handler.ReplicationHandler.COMPRESSION;
-import static org.apache.solr.handler.ReplicationHandler.CONF_FILES;
-import static org.apache.solr.handler.ReplicationHandler.CONF_FILE_SHORT;
-import static org.apache.solr.handler.ReplicationHandler.EXTERNAL;
-import static org.apache.solr.handler.ReplicationHandler.FILE;
-import static org.apache.solr.handler.ReplicationHandler.FILE_STREAM;
-import static org.apache.solr.handler.ReplicationHandler.GENERATION;
-import static org.apache.solr.handler.ReplicationHandler.INTERNAL;
-import static org.apache.solr.handler.ReplicationHandler.MASTER_URL;
-import static org.apache.solr.handler.ReplicationHandler.NAME;
-import static org.apache.solr.handler.ReplicationHandler.OFFSET;
-import static org.apache.solr.handler.ReplicationHandler.SIZE;
+import org.apache.commons.io.IOUtils;
+import org.apache.http.client.HttpClient;
+import org.apache.lucene.index.IndexCommit;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.SegmentCommitInfo;
+import org.apache.lucene.index.SegmentInfos;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
+import org.apache.lucene.store.IndexInput;
+import org.apache.lucene.store.IndexOutput;
+import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.impl.HttpClientUtil;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrException.ErrorCode;
+import org.apache.solr.common.params.CommonParams;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.util.ExecutorUtil;
+import org.apache.solr.common.util.FastInputStream;
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.DirectoryFactory;
+import org.apache.solr.core.DirectoryFactory.DirContext;
+import org.apache.solr.core.IndexDeletionPolicyWrapper;
+import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.ReplicationHandler.FileInfo;
+import org.apache.solr.request.LocalSolrQueryRequest;
+import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.search.SolrIndexSearcher;
+import org.apache.solr.update.CommitUpdateCommand;
+import org.apache.solr.util.DefaultSolrThreadFactory;
+import org.apache.solr.util.FileUtils;
+import org.apache.solr.util.PropertiesInputStream;
+import org.apache.solr.util.PropertiesOutputStream;
+import org.apache.solr.util.RefCounted;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileNotFoundException;
@@ -76,43 +94,25 @@ import java.util.zip.Adler32;
import java.util.zip.Checksum;
import java.util.zip.InflaterInputStream;
-import org.apache.commons.io.IOUtils;
-import org.apache.http.client.HttpClient;
-import org.apache.lucene.index.IndexCommit;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.SegmentCommitInfo;
-import org.apache.lucene.index.SegmentInfos;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.store.IndexOutput;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
-import org.apache.solr.client.solrj.request.QueryRequest;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.ExecutorUtil;
-import org.apache.solr.common.util.FastInputStream;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.DirectoryFactory;
-import org.apache.solr.core.DirectoryFactory.DirContext;
-import org.apache.solr.core.IndexDeletionPolicyWrapper;
-import org.apache.solr.core.SolrCore;
-import org.apache.solr.handler.ReplicationHandler.FileInfo;
-import org.apache.solr.request.LocalSolrQueryRequest;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.search.SolrIndexSearcher;
-import org.apache.solr.update.CommitUpdateCommand;
-import org.apache.solr.util.DefaultSolrThreadFactory;
-import org.apache.solr.util.FileUtils;
-import org.apache.solr.util.PropertiesInputStream;
-import org.apache.solr.util.PropertiesOutputStream;
-import org.apache.solr.util.RefCounted;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.apache.solr.handler.ReplicationHandler.ALIAS;
+import static org.apache.solr.handler.ReplicationHandler.CHECKSUM;
+import static org.apache.solr.handler.ReplicationHandler.CMD_DETAILS;
+import static org.apache.solr.handler.ReplicationHandler.CMD_GET_FILE;
+import static org.apache.solr.handler.ReplicationHandler.CMD_GET_FILE_LIST;
+import static org.apache.solr.handler.ReplicationHandler.CMD_INDEX_VERSION;
+import static org.apache.solr.handler.ReplicationHandler.COMMAND;
+import static org.apache.solr.handler.ReplicationHandler.COMPRESSION;
+import static org.apache.solr.handler.ReplicationHandler.CONF_FILES;
+import static org.apache.solr.handler.ReplicationHandler.CONF_FILE_SHORT;
+import static org.apache.solr.handler.ReplicationHandler.EXTERNAL;
+import static org.apache.solr.handler.ReplicationHandler.FILE;
+import static org.apache.solr.handler.ReplicationHandler.FILE_STREAM;
+import static org.apache.solr.handler.ReplicationHandler.GENERATION;
+import static org.apache.solr.handler.ReplicationHandler.INTERNAL;
+import static org.apache.solr.handler.ReplicationHandler.MASTER_URL;
+import static org.apache.solr.handler.ReplicationHandler.NAME;
+import static org.apache.solr.handler.ReplicationHandler.OFFSET;
+import static org.apache.solr.handler.ReplicationHandler.SIZE;
/**
* <p/> Provides functionality of downloading changed index files as well as config files and a timer for scheduling fetches from the
@@ -246,19 +246,16 @@ public class SnapPuller {
params.set(CommonParams.WT, "javabin");
params.set(CommonParams.QT, "/replication");
QueryRequest req = new QueryRequest(params);
- HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient); //XXX modify to use shardhandler
- NamedList rsp;
- try {
+
+ // TODO modify to use shardhandler
+ try (HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient)) {
client.setSoTimeout(60000);
client.setConnectionTimeout(15000);
- rsp = client.request(req);
+ return client.request(req);
} catch (SolrServerException e) {
throw new SolrException(ErrorCode.SERVER_ERROR, e.getMessage(), e);
- } finally {
- client.shutdown();
}
- return rsp;
}
/**
@@ -271,8 +268,9 @@ public class SnapPuller {
params.set(CommonParams.WT, "javabin");
params.set(CommonParams.QT, "/replication");
QueryRequest req = new QueryRequest(params);
- HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient); //XXX modify to use shardhandler
- try {
+
+ // TODO modify to use shardhandler
+ try (HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient)) {
client.setSoTimeout(60000);
client.setConnectionTimeout(15000);
NamedList response = client.request(req);
@@ -291,8 +289,6 @@ public class SnapPuller {
} catch (SolrServerException e) {
throw new IOException(e);
- } finally {
- client.shutdown();
}
}
@@ -1398,8 +1394,8 @@ public class SnapPuller {
NamedList response;
InputStream is = null;
- HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient, null); //XXX use shardhandler
- try {
+ // TODO use shardhandler
+ try (HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient, null)) {
client.setSoTimeout(60000);
client.setConnectionTimeout(15000);
QueryRequest req = new QueryRequest(params);
@@ -1413,8 +1409,6 @@ public class SnapPuller {
//close stream on error
IOUtils.closeQuietly(is);
throw new IOException("Could not download file '" + fileName + "'", e);
- } finally {
- client.shutdown();
}
}
}
@@ -1508,17 +1502,14 @@ public class SnapPuller {
params.set(COMMAND, CMD_DETAILS);
params.set("slave", false);
params.set(CommonParams.QT, "/replication");
- HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient); //XXX use shardhandler
- NamedList rsp;
- try {
+
+ // TODO use shardhandler
+ try (HttpSolrClient client = new HttpSolrClient(masterUrl, myHttpClient)) {
client.setSoTimeout(60000);
client.setConnectionTimeout(15000);
QueryRequest request = new QueryRequest(params);
- rsp = client.request(request);
- } finally {
- client.shutdown();
+ return client.request(request);
}
- return rsp;
}
static Integer readInterval(String interval) {
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java Wed Jan 28 12:15:10 2015
@@ -17,66 +17,7 @@ package org.apache.solr.handler.admin;
* limitations under the License.
*/
-import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.ASYNC;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.COLL_CONF;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.SHARD_UNIQUE;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET_SHUFFLE;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.NUM_SLICES;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.ONLY_ACTIVE_NODES;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.ONLY_IF_DOWN;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.REPLICATION_FACTOR;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.REQUESTID;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.ROUTER;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.SHARDS_PROP;
-import static org.apache.solr.common.cloud.ZkNodeProps.makeMap;
-import static org.apache.solr.common.cloud.ZkStateReader.ACTIVE;
-import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.CORE_NAME_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.ELECTION_NODE_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.LEADER_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.REJOIN_AT_HEAD_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.MAX_SHARDS_PER_NODE;
-import static org.apache.solr.common.cloud.ZkStateReader.AUTO_ADD_REPLICAS;
-import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.MAX_AT_ONCE_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.MAX_WAIT_SECONDS_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.NODE_NAME_PROP;
-import static org.apache.solr.common.cloud.ZkStateReader.STATE_PROP;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDROLE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICAPROP;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.BALANCESHARDUNIQUE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.CLUSTERPROP;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATEALIAS;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATESHARD;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEALIAS;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICA;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICAPROP;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETESHARD;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.MIGRATE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.OVERSEERSTATUS;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.REBALANCELEADERS;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.RELOAD;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.REMOVEROLE;
-import static org.apache.solr.common.params.CollectionParams.CollectionAction.SPLITSHARD;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
+import com.google.common.collect.ImmutableSet;
import org.apache.commons.lang.StringUtils;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.SolrServerException;
@@ -118,7 +59,65 @@ import org.apache.zookeeper.KeeperExcept
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableSet;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.solr.cloud.Overseer.QUEUE_OPERATION;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.ASYNC;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.COLL_CONF;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET_SHUFFLE;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.NUM_SLICES;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.ONLY_ACTIVE_NODES;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.ONLY_IF_DOWN;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.REPLICATION_FACTOR;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.REQUESTID;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.ROUTER;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.SHARDS_PROP;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.SHARD_UNIQUE;
+import static org.apache.solr.common.cloud.ZkNodeProps.makeMap;
+import static org.apache.solr.common.cloud.ZkStateReader.ACTIVE;
+import static org.apache.solr.common.cloud.ZkStateReader.AUTO_ADD_REPLICAS;
+import static org.apache.solr.common.cloud.ZkStateReader.COLLECTION_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.CORE_NAME_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.ELECTION_NODE_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.LEADER_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.MAX_AT_ONCE_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.MAX_SHARDS_PER_NODE;
+import static org.apache.solr.common.cloud.ZkStateReader.MAX_WAIT_SECONDS_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.NODE_NAME_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.PROPERTY_VALUE_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.REJOIN_AT_HEAD_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.REPLICA_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.SHARD_ID_PROP;
+import static org.apache.solr.common.cloud.ZkStateReader.STATE_PROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDREPLICAPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.ADDROLE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.BALANCESHARDUNIQUE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CLUSTERPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATEALIAS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.CREATESHARD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEALIAS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICA;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETEREPLICAPROP;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETESHARD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.MIGRATE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.OVERSEERSTATUS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.REBALANCELEADERS;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.RELOAD;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.REMOVEROLE;
+import static org.apache.solr.common.params.CollectionParams.CollectionAction.SPLITSHARD;
public class CollectionsHandler extends RequestHandlerBase {
protected static Logger log = LoggerFactory.getLogger(CollectionsHandler.class);
@@ -773,17 +772,15 @@ public class CollectionsHandler extends
ZkNodeProps leaderProps = clusterState.getLeader(collection, shard);
ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(leaderProps);
- HttpSolrClient server = new HttpSolrClient(nodeProps.getBaseUrl());
- try {
- server.setConnectionTimeout(15000);
- server.setSoTimeout(60000);
+ ;
+ try (HttpSolrClient client = new HttpSolrClient(nodeProps.getBaseUrl())) {
+ client.setConnectionTimeout(15000);
+ client.setSoTimeout(60000);
RequestSyncShard reqSyncShard = new CoreAdminRequest.RequestSyncShard();
reqSyncShard.setCollection(collection);
reqSyncShard.setShard(shard);
reqSyncShard.setCoreName(nodeProps.getCoreName());
- server.request(reqSyncShard);
- } finally {
- server.shutdown();
+ client.request(reqSyncShard);
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java Wed Jan 28 12:15:10 2015
@@ -152,11 +152,8 @@ public class HttpShardHandler extends Sh
if (urls.size() <= 1) {
String url = urls.get(0);
srsp.setShardAddress(url);
- SolrClient client = new HttpSolrClient(url, httpClient);
- try {
+ try (SolrClient client = new HttpSolrClient(url, httpClient)) {
ssr.nl = client.request(req);
- } finally {
- client.shutdown();
}
} else {
LBHttpSolrClient.Rsp rsp = httpShardHandlerFactory.makeLoadBalancedRequest(req, urls);
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java Wed Jan 28 12:15:10 2015
@@ -16,18 +16,6 @@ package org.apache.solr.handler.componen
* limitations under the License.
*/
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.CompletionService;
-import java.util.concurrent.ExecutorCompletionService;
-import java.util.concurrent.SynchronousQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
@@ -47,6 +35,18 @@ import org.apache.solr.util.DefaultSolrT
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.ExecutorCompletionService;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
public class HttpShardHandlerFactory extends ShardHandlerFactory implements org.apache.solr.util.plugin.PluginInfoInitialized {
protected static Logger log = LoggerFactory.getLogger(HttpShardHandlerFactory.class);
@@ -208,7 +208,7 @@ public class HttpShardHandlerFactory ext
} finally {
if (loadbalancer != null) {
- loadbalancer.shutdown();
+ loadbalancer.close();
}
}
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java Wed Jan 28 12:15:10 2015
@@ -19,12 +19,13 @@ package org.apache.solr.schema;
import org.apache.commons.io.IOUtils;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.util.CharFilterFactory;
+import org.apache.lucene.analysis.util.ResourceLoaderAware;
import org.apache.lucene.analysis.util.TokenFilterFactory;
import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.solr.analysis.TokenizerChain;
+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.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.cloud.ZkController;
@@ -47,7 +48,6 @@ import org.apache.solr.core.SolrResource
import org.apache.solr.rest.schema.FieldTypeXmlAdapter;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.apache.solr.util.FileUtils;
-import org.apache.lucene.analysis.util.ResourceLoaderAware;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
@@ -58,7 +58,6 @@ import org.xml.sax.InputSource;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -80,9 +79,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import static java.util.Collections.singletonList;
-import static java.util.Collections.singletonMap;
-
/** Solr-managed schema - non-user-editable, but can be mutable via internal and external REST API requests. */
public final class ManagedIndexSchema extends IndexSchema {
@@ -331,9 +327,8 @@ public final class ManagedIndexSchema ex
@Override
public Integer call() throws Exception {
- HttpSolrClient solr = new HttpSolrClient(coreUrl);
int remoteVersion = -1;
- try {
+ try (HttpSolrClient solr = new HttpSolrClient(coreUrl)) {
// eventually, this loop will get killed by the ExecutorService's timeout
while (remoteVersion == -1 || remoteVersion < expectedZkVersion) {
try {
@@ -358,10 +353,7 @@ public final class ManagedIndexSchema ex
}
}
}
- } finally {
- solr.shutdown();
}
-
return remoteVersion;
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java Wed Jan 28 12:15:10 2015
@@ -252,14 +252,11 @@ public class SolrCmdDistributor {
private void submit(final Req req, boolean isCommit) {
if (req.synchronous) {
blockAndDoRetries();
-
- HttpSolrClient client = new HttpSolrClient(req.node.getUrl(), clients.getHttpClient());
- try {
+
+ try (HttpSolrClient client = new HttpSolrClient(req.node.getUrl(), clients.getHttpClient())) {
client.request(req.uReq);
} catch (Exception e) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Failed synchronous update on shard " + req.node + " update: " + req.uReq , e);
- } finally {
- client.shutdown();
}
return;
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java?rev=1655273&r1=1655272&r2=1655273&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java Wed Jan 28 12:15:10 2015
@@ -106,7 +106,7 @@ public class StreamingSolrClients {
public synchronized void shutdown() {
for (ConcurrentUpdateSolrClient client : solrClients.values()) {
- client.shutdown();
+ client.close();
}
}