You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/01/04 15:53:21 UTC
svn commit: r1649347 [30/31] - in /lucene/dev/branches/lucene6005: ./
dev-tools/ dev-tools/idea/solr/contrib/dataimporthandler-extras/
dev-tools/idea/solr/contrib/extraction/
dev-tools/idea/solr/contrib/map-reduce/
dev-tools/idea/solr/contrib/velocity/...
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ExternalHttpClientTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ExternalHttpClientTest.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ExternalHttpClientTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ExternalHttpClientTest.java Sun Jan 4 14:53:12 2015
@@ -26,7 +26,6 @@ import org.apache.solr.client.solrj.Solr
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -36,15 +35,15 @@ public class ExternalHttpClientTest exte
public static void beforeTest() throws Exception {
createJetty(legacyExampleCollection1SolrHome(), null, null);
jetty.getDispatchFilter().getServletHandler()
- .addServletWithMapping(BasicHttpSolrServerTest.SlowServlet.class, "/slow/*");
+ .addServletWithMapping(BasicHttpSolrClientTest.SlowServlet.class, "/slow/*");
}
/**
- * The internal client created by HttpSolrServer is a SystemDefaultHttpClient
+ * The internal client created by HttpSolrClient is a SystemDefaultHttpClient
* which takes care of merging request level params (such as timeout) with the
* configured defaults.
*
- * However, if an external HttpClient is passed to HttpSolrServer,
+ * However, if an external HttpClient is passed to HttpSolrClient,
* the logic in InternalHttpClient.executeMethod replaces the configured defaults
* by request level params if they exist. That is why we must test a setting such
* as timeout with an external client to assert that the defaults are indeed being
@@ -57,21 +56,21 @@ public class ExternalHttpClientTest exte
HttpClientBuilder builder = HttpClientBuilder.create();
RequestConfig config = RequestConfig.custom().setSocketTimeout(2000).build();
builder.setDefaultRequestConfig(config);
- HttpSolrServer server = null;
+ HttpSolrClient solrClient = null;
try (CloseableHttpClient httpClient = builder.build()) {
- server = new HttpSolrServer(jetty.getBaseUrl().toString() +
+ solrClient = new HttpSolrClient(jetty.getBaseUrl().toString() +
"/slow/foo", httpClient);
SolrQuery q = new SolrQuery("*:*");
try {
- QueryResponse response = server.query(q, SolrRequest.METHOD.GET);
+ QueryResponse response = solrClient.query(q, SolrRequest.METHOD.GET);
fail("No exception thrown.");
} catch (SolrServerException e) {
assertTrue(e.getMessage().contains("Timeout"));
}
} finally {
- if (server != null) {
- server.shutdown();
+ if (solrClient != null) {
+ solrClient.shutdown();
}
}
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/SolrPingTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/SolrPingTest.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/SolrPingTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/SolrPingTest.java Sun Jan 4 14:53:12 2015
@@ -52,8 +52,8 @@ public class SolrPingTest extends SolrJe
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", 1);
doc.setField("terms_s", "samsung");
- getSolrServer().add(doc);
- getSolrServer().commit(true, true);
+ getSolrClient().add(doc);
+ getSolrClient().commit(true, true);
}
@Test
@@ -61,9 +61,9 @@ public class SolrPingTest extends SolrJe
SolrPing ping = new SolrPing();
SolrPingResponse rsp = null;
ping.setActionEnable();
- ping.process(getSolrServer());
+ ping.process(getSolrClient());
ping.removeAction();
- rsp = ping.process(getSolrServer());
+ rsp = ping.process(getSolrClient());
Assert.assertNotNull(rsp);
}
@@ -73,12 +73,12 @@ public class SolrPingTest extends SolrJe
SolrPingResponse rsp = null;
ping.setActionDisable();
try {
- ping.process(getSolrServer());
+ ping.process(getSolrClient());
} catch (Exception e) {
throw new Exception("disable action failed!");
}
ping.setActionPing();
- rsp = ping.process(getSolrServer());
+ rsp = ping.process(getSolrClient());
// the above line should fail with a 503 SolrException.
Assert.assertNotNull(rsp);
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestCoreAdmin.java Sun Jan 4 14:53:12 2015
@@ -17,16 +17,12 @@
package org.apache.solr.client.solrj.request;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.core.Is.is;
-
-import java.io.File;
-
+import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
+import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
import org.apache.solr.SolrIgnoredThreadsFilter;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.AbstractEmbeddedSolrServerTestCase;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.response.CoreAdminResponse;
@@ -43,8 +39,10 @@ import org.junit.rules.TestRule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
-import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
+import java.io.File;
+
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.core.Is.is;
@ThreadLeakFilters(defaultFilters = true, filters = {SolrIgnoredThreadsFilter.class})
public class TestCoreAdmin extends AbstractEmbeddedSolrServerTestCase {
@@ -68,14 +66,14 @@ public class TestCoreAdmin extends Abstr
return solrXml;
}
- protected SolrServer getSolrAdmin() {
+ protected SolrClient getSolrAdmin() {
return new EmbeddedSolrServer(cores, "core0");
}
@Test
public void testConfigSet() throws Exception {
- SolrServer server = getSolrAdmin();
+ SolrClient client = getSolrAdmin();
File testDir = createTempDir(LuceneTestCase.getTestClass().getSimpleName()).toFile();
File newCoreInstanceDir = new File(testDir, "newcore");
@@ -85,7 +83,7 @@ public class TestCoreAdmin extends Abstr
req.setInstanceDir(newCoreInstanceDir.getAbsolutePath());
req.setConfigSet("configset-2");
- CoreAdminResponse response = req.process(server);
+ CoreAdminResponse response = req.process(client);
assertThat((String) response.getResponse().get("core"), is("corewithconfigset"));
try (SolrCore core = cores.getCore("corewithconfigset")) {
@@ -97,7 +95,7 @@ public class TestCoreAdmin extends Abstr
@Test
public void testCustomUlogDir() throws Exception {
- SolrServer server = getSolrAdmin();
+ SolrClient client = getSolrAdmin();
File dataDir = createTempDir("data").toFile();
@@ -116,7 +114,7 @@ public class TestCoreAdmin extends Abstr
// These should be the inverse of defaults.
req.setIsLoadOnStartup(false);
req.setIsTransient(true);
- req.process(server);
+ req.process(client);
// Show that the newly-created core has values for load on startup and transient different than defaults due to the
// above.
@@ -134,7 +132,7 @@ public class TestCoreAdmin extends Abstr
}
assertEquals(new File(dataDir, "ulog" + File.separator + "tlog").getAbsolutePath(), logDir.getAbsolutePath());
- server.shutdown();
+ client.shutdown();
}
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/NoOpResponseParserTest.java Sun Jan 4 14:53:12 2015
@@ -18,13 +18,12 @@ package org.apache.solr.client.solrj.res
*/
import org.apache.commons.io.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrJettyTestBase;
import org.apache.solr.client.solrj.ResponseParser;
import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.NoOpResponseParser;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.client.solrj.request.QueryRequest;
@@ -32,7 +31,6 @@ import org.apache.solr.common.SolrDocume
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.SolrResourceLoader;
-import org.apache.solr.util.ExternalPaths;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -63,11 +61,11 @@ public class NoOpResponseParserTest exte
@Before
public void doBefore() throws IOException, SolrServerException {
//add document and commit, and ensure it's there
- SolrServer server1 = getSolrServer();
+ SolrClient client = getSolrClient();
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "1234");
- server1.add(doc);
- server1.commit();
+ client.add(doc);
+ client.commit();
}
/**
@@ -75,15 +73,15 @@ public class NoOpResponseParserTest exte
*/
@Test
public void testQueryParse() throws Exception {
- HttpSolrServer server = (HttpSolrServer) createNewSolrServer();
+ HttpSolrClient client = (HttpSolrClient) createNewSolrClient();
SolrQuery query = new SolrQuery("id:1234");
QueryRequest req = new QueryRequest(query);
- server.setParser(new NoOpResponseParser());
- NamedList<Object> resp = server.request(req);
+ client.setParser(new NoOpResponseParser());
+ NamedList<Object> resp = client.request(req);
String responseString = (String) resp.get("response");
assertResponse(responseString);
- server.shutdown();
+ client.shutdown();
}
private void assertResponse(String responseString) throws IOException {
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java Sun Jan 4 14:53:12 2015
@@ -24,7 +24,6 @@ import org.apache.solr.client.solrj.Solr
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.TermsResponse.Term;
-import org.apache.solr.util.ExternalPaths;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -53,8 +52,8 @@ public class TermsResponseTest extends S
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", 1);
doc.setField("terms_s", "samsung");
- getSolrServer().add(doc);
- getSolrServer().commit(true, true);
+ getSolrClient().add(doc);
+ getSolrClient().commit(true, true);
SolrQuery query = new SolrQuery();
query.setRequestHandler("/terms");
@@ -66,7 +65,7 @@ public class TermsResponseTest extends S
query.setTermsMinCount(1);
QueryRequest request = new QueryRequest(query);
- List<Term> terms = request.process(getSolrServer()).getTermsResponse().getTerms("terms_s");
+ List<Term> terms = request.process(getSolrClient()).getTermsResponse().getTerms("terms_s");
Assert.assertNotNull(terms);
Assert.assertEquals(terms.size(), 1);
Modified: lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java (original)
+++ lucene/dev/branches/lucene6005/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java Sun Jan 4 14:53:12 2015
@@ -25,7 +25,6 @@ import org.apache.solr.client.solrj.resp
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SpellingParams;
-import org.apache.solr.util.ExternalPaths;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -47,34 +46,34 @@ public class TestSpellCheckResponse exte
@Test
public void testSpellCheckResponse() throws Exception {
- getSolrServer();
- server.deleteByQuery("*:*");
- server.commit(true, true);
+ getSolrClient();
+ client.deleteByQuery("*:*");
+ client.commit(true, true);
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", "111");
doc.setField(field, "Samsung");
- server.add(doc);
- server.commit(true, true);
+ client.add(doc);
+ client.commit(true, true);
SolrQuery query = new SolrQuery("*:*");
query.set(CommonParams.QT, "/spell");
query.set("spellcheck", true);
query.set(SpellingParams.SPELLCHECK_Q, "samsang");
QueryRequest request = new QueryRequest(query);
- SpellCheckResponse response = request.process(server).getSpellCheckResponse();
+ SpellCheckResponse response = request.process(client).getSpellCheckResponse();
Assert.assertEquals("samsung", response.getFirstSuggestion("samsang"));
}
@Test
public void testSpellCheckResponse_Extended() throws Exception {
- getSolrServer();
- server.deleteByQuery("*:*");
- server.commit(true, true);
+ getSolrClient();
+ client.deleteByQuery("*:*");
+ client.commit(true, true);
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", "111");
doc.setField(field, "Samsung");
- server.add(doc);
- server.commit(true, true);
+ client.add(doc);
+ client.commit(true, true);
SolrQuery query = new SolrQuery("*:*");
query.set(CommonParams.QT, "/spell");
@@ -82,7 +81,7 @@ public class TestSpellCheckResponse exte
query.set(SpellingParams.SPELLCHECK_Q, "samsang");
query.set(SpellingParams.SPELLCHECK_EXTENDED_RESULTS, true);
QueryRequest request = new QueryRequest(query);
- SpellCheckResponse response = request.process(server).getSpellCheckResponse();
+ SpellCheckResponse response = request.process(client).getSpellCheckResponse();
assertEquals("samsung", response.getFirstSuggestion("samsang"));
SpellCheckResponse.Suggestion sug = response.getSuggestion("samsang");
@@ -106,30 +105,30 @@ public class TestSpellCheckResponse exte
@Test
public void testSpellCheckCollationResponse() throws Exception {
- getSolrServer();
- server.deleteByQuery("*:*");
- server.commit(true, true);
+ getSolrClient();
+ client.deleteByQuery("*:*");
+ client.commit(true, true);
SolrInputDocument doc = new SolrInputDocument();
doc.setField("id", "0");
doc.setField("name", "faith hope and love");
- server.add(doc);
+ client.add(doc);
doc = new SolrInputDocument();
doc.setField("id", "1");
doc.setField("name", "faith hope and loaves");
- server.add(doc);
+ client.add(doc);
doc = new SolrInputDocument();
doc.setField("id", "2");
doc.setField("name", "fat hops and loaves");
- server.add(doc);
+ client.add(doc);
doc = new SolrInputDocument();
doc.setField("id", "3");
doc.setField("name", "faith of homer");
- server.add(doc);
+ client.add(doc);
doc = new SolrInputDocument();
doc.setField("id", "4");
doc.setField("name", "fat of homer");
- server.add(doc);
- server.commit(true, true);
+ client.add(doc);
+ client.commit(true, true);
//Test Backwards Compatibility
SolrQuery query = new SolrQuery("name:(+fauth +home +loane)");
@@ -138,8 +137,8 @@ public class TestSpellCheckResponse exte
query.set(SpellingParams.SPELLCHECK_COUNT, 10);
query.set(SpellingParams.SPELLCHECK_COLLATE, true);
QueryRequest request = new QueryRequest(query);
- SpellCheckResponse response = request.process(server).getSpellCheckResponse();
- response = request.process(server).getSpellCheckResponse();
+ SpellCheckResponse response = request.process(client).getSpellCheckResponse();
+ response = request.process(client).getSpellCheckResponse();
assertTrue("name:(+faith +hope +loaves)".equals(response.getCollatedResult()));
//Test Expanded Collation Results
@@ -147,7 +146,7 @@ public class TestSpellCheckResponse exte
query.set(SpellingParams.SPELLCHECK_MAX_COLLATION_TRIES, 10);
query.set(SpellingParams.SPELLCHECK_MAX_COLLATIONS, 2);
request = new QueryRequest(query);
- response = request.process(server).getSpellCheckResponse();
+ response = request.process(client).getSpellCheckResponse();
assertTrue("name:(+faith +hope +love)".equals(response.getCollatedResult()) || "name:(+faith +hope +loaves)".equals(response.getCollatedResult()));
List<Collation> collations = response.getCollatedResults();
@@ -178,7 +177,7 @@ public class TestSpellCheckResponse exte
}
query.set(SpellingParams.SPELLCHECK_COLLATE_EXTENDED_RESULTS, false);
- response = request.process(server).getSpellCheckResponse();
+ response = request.process(client).getSpellCheckResponse();
{
collations = response.getCollatedResults();
assertEquals(2, collations.size());
Modified: lucene/dev/branches/lucene6005/solr/test-framework/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/build.xml?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/build.xml (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/build.xml Sun Jan 4 14:53:12 2015
@@ -46,7 +46,7 @@
<!-- redefine the clover setup, because we dont want to run clover for the test-framework -->
<target name="-clover.setup" if="run.clover"/>
- <!-- redefine the test compilation, so its just a no-op -->
+ <!-- redefine the test compilation, so it's just a no-op -->
<target name="compile-test"/>
<!-- redefine the forbidden apis for tests, as we check ourselves -->
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java Sun Jan 4 14:53:12 2015
@@ -17,31 +17,15 @@ package org.apache.solr;
* limitations under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.concurrent.atomic.AtomicInteger;
-
import junit.framework.Assert;
-
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.Constants;
import org.apache.lucene.util.TestUtil;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
@@ -59,6 +43,21 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.concurrent.atomic.AtomicInteger;
+
/**
* Helper base class for distributed search test cases
*
@@ -185,7 +184,7 @@ public abstract class BaseDistributedSea
protected boolean fixShardCount = false;
protected JettySolrRunner controlJetty;
- protected List<SolrServer> clients = new ArrayList<>();
+ protected List<SolrClient> clients = new ArrayList<>();
protected List<JettySolrRunner> jettys = new ArrayList<>();
protected String context;
@@ -193,7 +192,7 @@ public abstract class BaseDistributedSea
protected String shards;
protected String[] shardsArr;
protected File testDir;
- protected SolrServer controlClient;
+ protected SolrClient controlClient;
// to stress with higher thread counts and requests, make sure the junit
// xml formatter is not being used (all output will be buffered before
@@ -293,7 +292,7 @@ public abstract class BaseDistributedSea
protected void createServers(int numShards) throws Exception {
controlJetty = createControlJetty();
- controlClient = createNewSolrServer(controlJetty.getLocalPort());
+ controlClient = createNewSolrClient(controlJetty.getLocalPort());
shardsArr = new String[numShards];
StringBuilder sb = new StringBuilder();
@@ -303,7 +302,7 @@ public abstract class BaseDistributedSea
testDir + "/shard" + i + "/data", null, getSolrConfigFile(),
getSchemaFile());
jettys.add(j);
- clients.add(createNewSolrServer(j.getLocalPort()));
+ clients.add(createNewSolrClient(j.getLocalPort()));
String shardStr = buildUrl(j.getLocalPort());
shardsArr[i] = shardStr;
sb.append(shardStr);
@@ -342,9 +341,9 @@ public abstract class BaseDistributedSea
protected void destroyServers() throws Exception {
controlJetty.stop();
- ((HttpSolrServer) controlClient).shutdown();
+ ((HttpSolrClient) controlClient).shutdown();
for (JettySolrRunner jetty : jettys) jetty.stop();
- for (SolrServer client : clients) ((HttpSolrServer) client).shutdown();
+ for (SolrClient client : clients) ((HttpSolrClient) client).shutdown();
clients.clear();
jettys.clear();
}
@@ -387,15 +386,15 @@ public abstract class BaseDistributedSea
return null;
}
- protected SolrServer createNewSolrServer(int port) {
+ protected SolrClient createNewSolrClient(int port) {
try {
- // setup the server...
- HttpSolrServer s = new HttpSolrServer(buildUrl(port));
- s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
- s.setSoTimeout(90000);
- s.setDefaultMaxConnectionsPerHost(100);
- s.setMaxTotalConnections(100);
- return s;
+ // setup the client...
+ HttpSolrClient client = new HttpSolrClient(buildUrl(port));
+ client.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
+ client.setSoTimeout(90000);
+ client.setDefaultMaxConnectionsPerHost(100);
+ client.setMaxTotalConnections(100);
+ return client;
}
catch (Exception ex) {
throw new RuntimeException(ex);
@@ -438,7 +437,7 @@ public abstract class BaseDistributedSea
controlClient.add(doc);
int which = (doc.getField(id).toString().hashCode() & 0x7fffffff) % clients.size();
- SolrServer client = clients.get(which);
+ SolrClient client = clients.get(which);
client.add(doc);
}
@@ -446,38 +445,38 @@ public abstract class BaseDistributedSea
* Indexes the document in both the control client and the specified client asserting
* that the respones are equivilent
*/
- protected UpdateResponse indexDoc(SolrServer server, SolrParams params, SolrInputDocument... sdocs) throws IOException, SolrServerException {
+ protected UpdateResponse indexDoc(SolrClient client, SolrParams params, SolrInputDocument... sdocs) throws IOException, SolrServerException {
UpdateResponse controlRsp = add(controlClient, params, sdocs);
- UpdateResponse specificRsp = add(server, params, sdocs);
+ UpdateResponse specificRsp = add(client, params, sdocs);
compareSolrResponses(specificRsp, controlRsp);
return specificRsp;
}
- protected UpdateResponse add(SolrServer server, SolrParams params, SolrInputDocument... sdocs) throws IOException, SolrServerException {
+ protected UpdateResponse add(SolrClient client, SolrParams params, SolrInputDocument... sdocs) throws IOException, SolrServerException {
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams(params));
for (SolrInputDocument sdoc : sdocs) {
ureq.add(sdoc);
}
- return ureq.process(server);
+ return ureq.process(client);
}
- protected UpdateResponse del(SolrServer server, SolrParams params, Object... ids) throws IOException, SolrServerException {
+ protected UpdateResponse del(SolrClient client, SolrParams params, Object... ids) throws IOException, SolrServerException {
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams(params));
for (Object id: ids) {
ureq.deleteById(id.toString());
}
- return ureq.process(server);
+ return ureq.process(client);
}
- protected UpdateResponse delQ(SolrServer server, SolrParams params, String... queries) throws IOException, SolrServerException {
+ protected UpdateResponse delQ(SolrClient client, SolrParams params, String... queries) throws IOException, SolrServerException {
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams(params));
for (String q: queries) {
ureq.deleteByQuery(q);
}
- return ureq.process(server);
+ return ureq.process(client);
}
protected void index_specific(int serverNumber, Object... fields) throws Exception {
@@ -487,20 +486,20 @@ public abstract class BaseDistributedSea
}
controlClient.add(doc);
- SolrServer client = clients.get(serverNumber);
+ SolrClient client = clients.get(serverNumber);
client.add(doc);
}
protected void del(String q) throws Exception {
controlClient.deleteByQuery(q);
- for (SolrServer client : clients) {
+ for (SolrClient client : clients) {
client.deleteByQuery(q);
}
}// serial commit...
protected void commit() throws Exception {
controlClient.commit();
- for (SolrServer client : clients) {
+ for (SolrClient client : clients) {
client.commit();
}
}
@@ -508,7 +507,7 @@ public abstract class BaseDistributedSea
protected QueryResponse queryServer(ModifiableSolrParams params) throws SolrServerException {
// query a random server
int which = r.nextInt(clients.size());
- SolrServer client = clients.get(which);
+ SolrClient client = clients.get(which);
QueryResponse rsp = client.query(params);
return rsp;
}
@@ -570,7 +569,7 @@ public abstract class BaseDistributedSea
public void run() {
for (int j = 0; j < stress; j++) {
int which = r.nextInt(clients.size());
- SolrServer client = clients.get(which);
+ SolrClient client = clients.get(which);
try {
QueryResponse rsp = client.query(new ModifiableSolrParams(params));
if (verifyStress) {
@@ -592,13 +591,13 @@ public abstract class BaseDistributedSea
return rsp;
}
- public QueryResponse queryAndCompare(SolrParams params, SolrServer... servers) throws SolrServerException {
- return queryAndCompare(params, Arrays.<SolrServer>asList(servers));
+ public QueryResponse queryAndCompare(SolrParams params, SolrClient... clients) throws SolrServerException {
+ return queryAndCompare(params, Arrays.<SolrClient>asList(clients));
}
- public QueryResponse queryAndCompare(SolrParams params, Iterable<SolrServer> servers) throws SolrServerException {
+ public QueryResponse queryAndCompare(SolrParams params, Iterable<SolrClient> clients) throws SolrServerException {
QueryResponse first = null;
- for (SolrServer server : servers) {
- QueryResponse rsp = server.query(new ModifiableSolrParams(params));
+ for (SolrClient client : clients) {
+ QueryResponse rsp = client.query(new ModifiableSolrParams(params));
if (first == null) {
first = rsp;
} else {
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrJettyTestBase.java Sun Jan 4 14:53:12 2015
@@ -17,19 +17,12 @@ package org.apache.solr;
* limitations under the License.
*/
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.OutputStreamWriter;
-import java.util.Properties;
-import java.util.SortedMap;
-
import org.apache.commons.io.FileUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.util.ExternalPaths;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.AfterClass;
@@ -37,6 +30,11 @@ import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.OutputStreamWriter;
+import java.util.Properties;
+import java.util.SortedMap;
+
abstract public class SolrJettyTestBase extends SolrTestCaseJ4
{
@@ -50,7 +48,7 @@ abstract public class SolrJettyTestBase
public static JettySolrRunner jetty;
public static int port;
- public static SolrServer server = null;
+ public static SolrClient client = null;
public static String context;
public static JettySolrRunner createJetty(String solrHome, String configFile, String schemaFile, String context,
@@ -87,36 +85,36 @@ abstract public class SolrJettyTestBase
jetty.stop();
jetty = null;
}
- if (server != null) server.shutdown();
- server = null;
+ if (client != null) client.shutdown();
+ client = null;
}
- public SolrServer getSolrServer() {
+ public SolrClient getSolrClient() {
{
- if (server == null) {
- server = createNewSolrServer();
+ if (client == null) {
+ client = createNewSolrClient();
}
- return server;
+ return client;
}
}
/**
- * Create a new solr server.
+ * Create a new solr client.
* If createJetty was called, an http implementation will be created,
* otherwise an embedded implementation will be created.
* Subclasses should override for other options.
*/
- public SolrServer createNewSolrServer() {
+ public SolrClient createNewSolrClient() {
if (jetty != null) {
try {
- // setup the server...
+ // setup the client...
String url = jetty.getBaseUrl().toString() + "/" + "collection1";
- HttpSolrServer s = new HttpSolrServer( url );
- s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
- s.setDefaultMaxConnectionsPerHost(100);
- s.setMaxTotalConnections(100);
- return s;
+ HttpSolrClient client = new HttpSolrClient( url );
+ client.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
+ client.setDefaultMaxConnectionsPerHost(100);
+ client.setMaxTotalConnections(100);
+ return client;
}
catch( Exception ex ) {
throw new RuntimeException( ex );
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java Sun Jan 4 14:53:12 2015
@@ -244,8 +244,9 @@ public abstract class SolrTestCaseJ4 ext
return new SSLTestConfig();
}
- final boolean trySsl = random().nextBoolean();
- boolean trySslClientAuth = random().nextBoolean();
+ // we don't choose ssl that often because of SOLR-5776
+ final boolean trySsl = random().nextInt(10) < 2;
+ boolean trySslClientAuth = random().nextInt(10) < 2;
if (Constants.MAC_OS_X) {
trySslClientAuth = false;
}
@@ -439,7 +440,7 @@ public abstract class SolrTestCaseJ4 ext
if (endNumOpens-numOpens != endNumCloses-numCloses) {
String msg = "ERROR: SolrIndexSearcher opens=" + (endNumOpens-numOpens) + " closes=" + (endNumCloses-numCloses);
log.error(msg);
- // if its TestReplicationHandler, ignore it. the test is broken and gets no love
+ // if it's TestReplicationHandler, ignore it. the test is broken and gets no love
if ("TestReplicationHandler".equals(RandomizedContext.current().getTargetClass().getSimpleName())) {
log.warn("TestReplicationHandler wants to fail!: " + msg);
} else {
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java Sun Jan 4 14:53:12 2015
@@ -102,7 +102,7 @@ public abstract class AbstractDistribZkT
System.clearProperty(ZkStateReader.NUM_SHARDS_PROP);
}
- controlClient = createNewSolrServer(controlJetty.getLocalPort());
+ controlClient = createNewSolrClient(controlJetty.getLocalPort());
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= numShards; i++) {
@@ -112,7 +112,7 @@ public abstract class AbstractDistribZkT
setupJettySolrHome(jettyHome);
JettySolrRunner j = createJetty(jettyHome, null, "shard" + (i + 2));
jettys.add(j);
- clients.add(createNewSolrServer(j.getLocalPort()));
+ clients.add(createNewSolrClient(j.getLocalPort()));
sb.append(buildUrl(j.getLocalPort()));
}
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java Sun Jan 4 14:53:12 2015
@@ -17,40 +17,16 @@ package org.apache.solr.cloud;
* limitations under the License.
*/
-import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET;
-import static org.apache.solr.cloud.OverseerCollectionProcessor.NUM_SLICES;
-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.REPLICATION_FACTOR;
-import static org.apache.solr.common.cloud.ZkStateReader.MAX_SHARDS_PER_NODE;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Random;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
import org.apache.commons.io.FilenameUtils;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.lucene.util.LuceneTestCase.Slow;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.client.solrj.impl.CloudSolrServer;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
+import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
@@ -88,6 +64,30 @@ import org.noggit.JSONWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.URI;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Random;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import static org.apache.solr.cloud.OverseerCollectionProcessor.CREATE_NODE_SET;
+import static org.apache.solr.cloud.OverseerCollectionProcessor.NUM_SLICES;
+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.MAX_SHARDS_PER_NODE;
+import static org.apache.solr.common.cloud.ZkStateReader.REPLICATION_FACTOR;
+
/**
* TODO: we should still test this works as a custom update chain as well as
* what we test now - the default update chain
@@ -115,8 +115,8 @@ public abstract class AbstractFullDistri
String missingField = "ignore_exception__missing_but_valid_field_t";
protected int sliceCount;
- protected CloudSolrServer controlClientCloud; // cloud version of the control client
- protected volatile CloudSolrServer cloudClient;
+ protected CloudSolrClient controlClientCloud; // cloud version of the control client
+ protected volatile CloudSolrClient cloudClient;
protected List<CloudJettyRunner> cloudJettys = new ArrayList<>();
protected Map<String,List<CloudJettyRunner>> shardToJetty = new HashMap<>();
@@ -162,14 +162,14 @@ public abstract class AbstractFullDistri
}
static class CloudSolrServerClient {
- SolrServer solrClient;
+ SolrClient solrClient;
String shardName;
int port;
public ZkNodeProps info;
public CloudSolrServerClient() {}
- public CloudSolrServerClient(SolrServer client) {
+ public CloudSolrServerClient(SolrClient client) {
this.solrClient = client;
}
@@ -259,13 +259,13 @@ public abstract class AbstractFullDistri
shardToJetty, shardToLeaderJetty);
}
- protected CloudSolrServer createCloudClient(String defaultCollection) {
- CloudSolrServer server = new CloudSolrServer(zkServer.getZkAddress(), random().nextBoolean());
- server.setParallelUpdates(random().nextBoolean());
- if (defaultCollection != null) server.setDefaultCollection(defaultCollection);
- server.getLbServer().getHttpClient().getParams()
+ protected CloudSolrClient createCloudClient(String defaultCollection) {
+ CloudSolrClient client = new CloudSolrClient(zkServer.getZkAddress(), random().nextBoolean());
+ client.setParallelUpdates(random().nextBoolean());
+ if (defaultCollection != null) client.setDefaultCollection(defaultCollection);
+ client.getLbClient().getHttpClient().getParams()
.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 30000);
- return server;
+ return client;
}
@Override
@@ -287,7 +287,7 @@ public abstract class AbstractFullDistri
// "shard1"
- controlClient = createNewSolrServer(controlJetty.getLocalPort());
+ controlClient = createNewSolrClient(controlJetty.getLocalPort());
if (sliceCount <= 0) {
// for now, just create the cloud client for the control if we don't
@@ -372,7 +372,7 @@ public abstract class AbstractFullDistri
*/
protected List<JettySolrRunner> createJettys(int numJettys, boolean checkCreatedVsState) throws Exception {
List<JettySolrRunner> jettys = new ArrayList<>();
- List<SolrServer> clients = new ArrayList<>();
+ List<SolrClient> clients = new ArrayList<>();
StringBuilder sb = new StringBuilder();
if (getStateFormat() == 2) {
@@ -399,7 +399,7 @@ public abstract class AbstractFullDistri
JettySolrRunner j = createJetty(jettyDir, useJettyDataDir ? getDataDir(testDir + "/jetty"
+ cnt) : null, null, "solrconfig.xml", null);
jettys.add(j);
- SolrServer client = createNewSolrServer(j.getLocalPort());
+ SolrClient client = createNewSolrClient(j.getLocalPort());
clients.add(client);
}
@@ -447,7 +447,7 @@ public abstract class AbstractFullDistri
}
- protected SolrServer startCloudJetty(String collection, String shard) throws Exception {
+ protected SolrClient startCloudJetty(String collection, String shard) throws Exception {
// TODO: use the collection string!!!!
collection = DEFAULT_COLLECTION;
@@ -461,7 +461,7 @@ public abstract class AbstractFullDistri
org.apache.commons.io.FileUtils.copyDirectory(new File(getSolrHome()), jettyDir);
JettySolrRunner j = createJetty(jettyDir, testDir + "/jetty" + cnt, shard, "solrconfig.xml", null);
jettys.add(j);
- SolrServer client = createNewSolrServer(j.getLocalPort());
+ SolrClient client = createNewSolrClient(j.getLocalPort());
clients.add(client);
int retries = 60;
@@ -536,16 +536,11 @@ public abstract class AbstractFullDistri
jetty.setShards(shardList);
jetty.setDataDir(getDataDir(dataDir));
- // setup to proxy Http requests to this server unless it is the control
- // server
- int proxyPort = getNextAvailablePort();
- jetty.setProxyPort(proxyPort);
+ SocketProxy proxy = new SocketProxy(0, sslConfig == null ? false : sslConfig.isSSLMode());
+ jetty.setProxyPort(proxy.getListenPort());
jetty.start();
-
- // create a socket proxy for the jetty server ...
- SocketProxy proxy = new SocketProxy(proxyPort, jetty.getBaseUrl().toURI());
+ proxy.open(jetty.getBaseUrl().toURI());
proxies.put(proxy.getUrl(), proxy);
-
return jetty;
}
@@ -628,11 +623,11 @@ public abstract class AbstractFullDistri
return solrHome;
}
- protected void updateMappingsFromZk(List<JettySolrRunner> jettys, List<SolrServer> clients) throws Exception {
+ protected void updateMappingsFromZk(List<JettySolrRunner> jettys, List<SolrClient> clients) throws Exception {
updateMappingsFromZk(jettys, clients, false);
}
- protected void updateMappingsFromZk(List<JettySolrRunner> jettys, List<SolrServer> clients, boolean allowOverSharding) throws Exception {
+ protected void updateMappingsFromZk(List<JettySolrRunner> jettys, List<SolrClient> clients, boolean allowOverSharding) throws Exception {
ZkStateReader zkStateReader = cloudClient.getZkStateReader();
zkStateReader.updateClusterState(true);
cloudJettys.clear();
@@ -642,13 +637,13 @@ public abstract class AbstractFullDistri
DocCollection coll = clusterState.getCollection(DEFAULT_COLLECTION);
List<CloudSolrServerClient> theClients = new ArrayList<>();
- for (SolrServer client : clients) {
+ for (SolrClient client : clients) {
// find info for this client in zk
nextClient:
// we find out state by simply matching ports...
for (Slice slice : coll.getSlices()) {
for (Replica replica : slice.getReplicas()) {
- int port = new URI(((HttpSolrServer) client).getBaseURL())
+ int port = new URI(((HttpSolrClient) client).getBaseURL())
.getPort();
if (replica.getStr(ZkStateReader.BASE_URL_PROP).contains(":" + port)) {
@@ -783,7 +778,7 @@ public abstract class AbstractFullDistri
}
controlClient.add(doc);
- HttpSolrServer client = (HttpSolrServer) clients
+ HttpSolrClient client = (HttpSolrClient) clients
.get(serverNumber);
UpdateRequest ureq = new UpdateRequest();
@@ -792,7 +787,7 @@ public abstract class AbstractFullDistri
ureq.process(client);
}
- protected void index_specific(SolrServer client, Object... fields)
+ protected void index_specific(SolrClient client, Object... fields)
throws Exception {
SolrInputDocument doc = new SolrInputDocument();
for (int i = 0; i < fields.length; i += 2) {
@@ -1025,7 +1020,7 @@ public abstract class AbstractFullDistri
public QueryResponse queryAndCompareReplicas(SolrParams params, String shard)
throws Exception {
- ArrayList<SolrServer> shardClients = new ArrayList<>(7);
+ ArrayList<SolrClient> shardClients = new ArrayList<>(7);
updateMappingsFromZk(jettys, clients);
ZkStateReader zkStateReader = cloudClient.getZkStateReader();
@@ -1275,7 +1270,7 @@ public abstract class AbstractFullDistri
try {
CloudJettyRunner cjetty = shardToJetty.get(s).get(i);
ZkNodeProps props = cjetty.info;
- SolrServer client = cjetty.client.solrClient;
+ SolrClient client = cjetty.client.solrClient;
boolean active = props.getStr(ZkStateReader.STATE_PROP).equals(
ZkStateReader.ACTIVE);
if (active) {
@@ -1310,7 +1305,7 @@ public abstract class AbstractFullDistri
}
}
- protected SolrServer getClient(String nodeName) {
+ protected SolrClient getClient(String nodeName) {
for (CloudJettyRunner cjetty : cloudJettys) {
CloudSolrServerClient client = cjetty.client;
if (client.shardName.equals(nodeName)) {
@@ -1354,7 +1349,7 @@ public abstract class AbstractFullDistri
Map<String,Replica> theShards = slice.getValue().getReplicasMap();
for (Map.Entry<String,Replica> shard : theShards.entrySet()) {
String shardName = new URI(
- ((HttpSolrServer) client.solrClient).getBaseURL()).getPort()
+ ((HttpSolrClient) client.solrClient).getBaseURL()).getPort()
+ "_solr_";
if (verbose && shard.getKey().endsWith(shardName)) {
System.err.println("shard:" + slice.getKey());
@@ -1536,11 +1531,11 @@ public abstract class AbstractFullDistri
if (VERBOSE || printLayoutOnTearDown) {
super.printLayout();
}
- if (commondCloudSolrServer != null) {
- commondCloudSolrServer.shutdown();
+ if (commondCloudSolrClient != null) {
+ commondCloudSolrClient.shutdown();
}
if (controlClient != null) {
- ((HttpSolrServer) controlClient).shutdown();
+ ((HttpSolrClient) controlClient).shutdown();
}
if (cloudClient != null) {
cloudClient.shutdown();
@@ -1587,12 +1582,12 @@ public abstract class AbstractFullDistri
return createCollection(null, collectionName, numShards, replicationFactor, maxShardsPerNode, null, null);
}
- protected CollectionAdminResponse createCollection(Map<String,List<Integer>> collectionInfos, String collectionName, Map<String,Object> collectionProps, SolrServer client) throws SolrServerException, IOException{
+ protected CollectionAdminResponse createCollection(Map<String,List<Integer>> collectionInfos, String collectionName, Map<String,Object> collectionProps, SolrClient client) throws SolrServerException, IOException{
return createCollection(collectionInfos, collectionName, collectionProps, client, null);
}
// TODO: Use CollectionAdminRequest#createCollection() instead of a raw request
- protected CollectionAdminResponse createCollection(Map<String, List<Integer>> collectionInfos, String collectionName, Map<String, Object> collectionProps, SolrServer client, String confSetName) throws SolrServerException, IOException{
+ protected CollectionAdminResponse createCollection(Map<String, List<Integer>> collectionInfos, String collectionName, Map<String, Object> collectionProps, SolrClient client, String confSetName) throws SolrServerException, IOException{
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("action", CollectionAction.CREATE.toString());
for (Map.Entry<String, Object> entry : collectionProps.entrySet()) {
@@ -1629,12 +1624,12 @@ public abstract class AbstractFullDistri
CollectionAdminResponse res = new CollectionAdminResponse();
if (client == null) {
- final String baseUrl = getBaseUrl((HttpSolrServer) clients.get(clientIndex));
- SolrServer server = createNewSolrServer("", baseUrl);
+ final String baseUrl = getBaseUrl((HttpSolrClient) clients.get(clientIndex));
+ SolrClient adminClient = createNewSolrClient("", baseUrl);
try {
- res.setResponse(server.request(request));
+ res.setResponse(adminClient.request(request));
} finally {
- if (server != null) server.shutdown();
+ if (adminClient != null) adminClient.shutdown();
}
} else {
res.setResponse(client.request(request));
@@ -1644,7 +1639,7 @@ public abstract class AbstractFullDistri
protected CollectionAdminResponse createCollection(Map<String,List<Integer>> collectionInfos,
- String collectionName, int numShards, int replicationFactor, int maxShardsPerNode, SolrServer client, String createNodeSetStr) throws SolrServerException, IOException {
+ String collectionName, int numShards, int replicationFactor, int maxShardsPerNode, SolrClient client, String createNodeSetStr) throws SolrServerException, IOException {
return createCollection(collectionInfos, collectionName,
ZkNodeProps.makeMap(
@@ -1656,7 +1651,7 @@ public abstract class AbstractFullDistri
}
protected CollectionAdminResponse createCollection(Map<String, List<Integer>> collectionInfos,
- String collectionName, int numShards, int replicationFactor, int maxShardsPerNode, SolrServer client, String createNodeSetStr, String configName) throws SolrServerException, IOException {
+ String collectionName, int numShards, int replicationFactor, int maxShardsPerNode, SolrClient client, String createNodeSetStr, String configName) throws SolrServerException, IOException {
return createCollection(collectionInfos, collectionName,
ZkNodeProps.makeMap(
@@ -1668,37 +1663,37 @@ public abstract class AbstractFullDistri
}
@Override
- protected SolrServer createNewSolrServer(int port) {
+ protected SolrClient createNewSolrClient(int port) {
try {
// setup the server...
String baseUrl = buildUrl(port);
String url = baseUrl + (baseUrl.endsWith("/") ? "" : "/") + DEFAULT_COLLECTION;
- HttpSolrServer s = new HttpSolrServer(url);
- s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
- s.setSoTimeout(60000);
- s.setDefaultMaxConnectionsPerHost(100);
- s.setMaxTotalConnections(100);
- return s;
+ HttpSolrClient client = new HttpSolrClient(url);
+ client.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
+ client.setSoTimeout(60000);
+ client.setDefaultMaxConnectionsPerHost(100);
+ client.setMaxTotalConnections(100);
+ return client;
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
- protected SolrServer createNewSolrServer(String collection, String baseUrl) {
+ protected SolrClient createNewSolrClient(String collection, String baseUrl) {
try {
// setup the server...
- HttpSolrServer s = new HttpSolrServer(baseUrl + "/" + collection);
- s.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
- s.setDefaultMaxConnectionsPerHost(100);
- s.setMaxTotalConnections(100);
- return s;
+ HttpSolrClient client = new HttpSolrClient(baseUrl + "/" + collection);
+ client.setConnectionTimeout(DEFAULT_CONNECTION_TIMEOUT);
+ client.setDefaultMaxConnectionsPerHost(100);
+ client.setMaxTotalConnections(100);
+ return client;
}
catch (Exception ex) {
throw new RuntimeException(ex);
}
}
- protected String getBaseUrl(HttpSolrServer client) {
+ protected String getBaseUrl(HttpSolrClient client) {
return client .getBaseURL().substring(
0, client.getBaseURL().length()
- DEFAULT_COLLECTION.length() - 1);
@@ -1711,7 +1706,7 @@ public abstract class AbstractFullDistri
}
private String checkCollectionExpectations(String collectionName, List<Integer> numShardsNumReplicaList, List<String> nodesAllowedToRunShards) {
- ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader().getClusterState();
+ ClusterState clusterState = getCommonCloudSolrClient().getZkStateReader().getClusterState();
int expectedSlices = numShardsNumReplicaList.get(0);
// The Math.min thing is here, because we expect replication-factor to be reduced to if there are not enough live nodes to spread all shards of a collection over different nodes
@@ -1766,20 +1761,20 @@ public abstract class AbstractFullDistri
}
}
- private CloudSolrServer commondCloudSolrServer;
+ private CloudSolrClient commondCloudSolrClient;
- protected CloudSolrServer getCommonCloudSolrServer() {
+ protected CloudSolrClient getCommonCloudSolrClient() {
synchronized (this) {
- if (commondCloudSolrServer == null) {
- commondCloudSolrServer = new CloudSolrServer(zkServer.getZkAddress(),
+ if (commondCloudSolrClient == null) {
+ commondCloudSolrClient = new CloudSolrClient(zkServer.getZkAddress(),
random().nextBoolean());
- commondCloudSolrServer.getLbServer().setConnectionTimeout(30000);
- commondCloudSolrServer.setParallelUpdates(random().nextBoolean());
- commondCloudSolrServer.setDefaultCollection(DEFAULT_COLLECTION);
- commondCloudSolrServer.connect();
+ commondCloudSolrClient.getLbClient().setConnectionTimeout(30000);
+ commondCloudSolrClient.setParallelUpdates(random().nextBoolean());
+ commondCloudSolrClient.setDefaultCollection(DEFAULT_COLLECTION);
+ commondCloudSolrClient.connect();
}
}
- return commondCloudSolrServer;
+ return commondCloudSolrClient;
}
public static String getUrlFromZk(ClusterState clusterState, String collection) {
@@ -1804,7 +1799,7 @@ public abstract class AbstractFullDistri
throw new RuntimeException("Could not find a live node for collection:" + collection);
}
- public static void waitForNon403or404or503(HttpSolrServer collectionClient)
+ public static void waitForNon403or404or503(HttpSolrClient collectionClient)
throws Exception {
SolrException exp = null;
long timeoutAt = System.currentTimeMillis() + 30000;
@@ -1836,8 +1831,8 @@ public abstract class AbstractFullDistri
long timeoutAt = System.currentTimeMillis() + 45000;
boolean found = true;
while (System.currentTimeMillis() < timeoutAt) {
- getCommonCloudSolrServer().getZkStateReader().updateClusterState(true);
- ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader().getClusterState();
+ getCommonCloudSolrClient().getZkStateReader().updateClusterState(true);
+ ClusterState clusterState = getCommonCloudSolrClient().getZkStateReader().getClusterState();
if (!clusterState.hasCollection(collectionName)) {
found = false;
break;
@@ -1857,23 +1852,23 @@ public abstract class AbstractFullDistri
}
request.setPath("/admin/collections");
- String baseUrl = ((HttpSolrServer) shardToJetty.get(SHARD1).get(0).client.solrClient)
+ String baseUrl = ((HttpSolrClient) shardToJetty.get(SHARD1).get(0).client.solrClient)
.getBaseURL();
baseUrl = baseUrl.substring(0, baseUrl.length() - "collection1".length());
- HttpSolrServer baseServer = new HttpSolrServer(baseUrl);
- baseServer.setConnectionTimeout(15000);
- baseServer.setSoTimeout(60000 * 5);
- NamedList r = baseServer.request(request);
- baseServer.shutdown();
+ HttpSolrClient baseClient = new HttpSolrClient(baseUrl);
+ baseClient.setConnectionTimeout(15000);
+ baseClient.setSoTimeout(60000 * 5);
+ NamedList r = baseClient.request(request);
+ baseClient.shutdown();
return r;
}
protected void createCollection(String collName,
- CloudSolrServer client,
+ CloudSolrClient client,
int replicationFactor ,
int numShards ) throws Exception {
- int maxShardsPerNode = ((((numShards+1) * replicationFactor) / getCommonCloudSolrServer()
+ int maxShardsPerNode = ((((numShards+1) * replicationFactor) / getCommonCloudSolrClient()
.getZkStateReader().getClusterState().getLiveNodes().size())) + 1;
Map<String, Object> props = makeMap(
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java Sun Jan 4 14:53:12 2015
@@ -18,7 +18,7 @@ package org.apache.solr.cloud;
*/
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.cloud.AbstractFullDistribZkTestBase.CloudJettyRunner;
import org.apache.solr.common.cloud.Slice;
@@ -73,7 +73,7 @@ public class ChaosMonkey {
private AtomicInteger expires = new AtomicInteger();
private AtomicInteger connloss = new AtomicInteger();
- private Map<String,List<SolrServer>> shardToClient;
+ private Map<String,List<SolrClient>> shardToClient;
private boolean expireSessions;
private boolean causeConnectionLoss;
private boolean aggressivelyKillLeaders;
@@ -423,14 +423,14 @@ public class ChaosMonkey {
return numActive;
}
- public SolrServer getRandomClient(String slice) throws KeeperException, InterruptedException {
+ public SolrClient getRandomClient(String slice) throws KeeperException, InterruptedException {
// get latest cloud state
zkStateReader.updateClusterState(true);
// get random shard
- List<SolrServer> clients = shardToClient.get(slice);
+ List<SolrClient> clients = shardToClient.get(slice);
int index = LuceneTestCase.random().nextInt(clients.size() - 1);
- SolrServer client = clients.get(index);
+ SolrClient client = clients.get(index);
return client;
}
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java Sun Jan 4 14:53:12 2015
@@ -1,12 +1,7 @@
package org.apache.solr.cloud;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
@@ -14,6 +9,11 @@ import org.apache.solr.common.params.Sol
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -160,9 +160,9 @@ public class CloudInspectUtil {
*
* @return true if the compared results are illegal.
*/
- public static boolean compareResults(SolrServer controlServer, SolrServer cloudServer)
+ public static boolean compareResults(SolrClient controlClient, SolrClient cloudClient)
throws SolrServerException {
- return compareResults(controlServer, cloudServer, null, null);
+ return compareResults(controlClient, cloudClient, null, null);
}
/**
@@ -170,25 +170,25 @@ public class CloudInspectUtil {
*
* @return true if the compared results are illegal.
*/
- public static boolean compareResults(SolrServer controlServer, SolrServer cloudServer, Set<String> addFails, Set<String> deleteFails)
+ public static boolean compareResults(SolrClient controlClient, SolrClient cloudClient, Set<String> addFails, Set<String> deleteFails)
throws SolrServerException {
SolrParams q = SolrTestCaseJ4.params("q","*:*","rows","0", "tests","checkShardConsistency(vsControl)"); // add a tag to aid in debugging via logs
- SolrDocumentList controlDocList = controlServer.query(q).getResults();
+ SolrDocumentList controlDocList = controlClient.query(q).getResults();
long controlDocs = controlDocList.getNumFound();
- SolrDocumentList cloudDocList = cloudServer.query(q).getResults();
+ SolrDocumentList cloudDocList = cloudClient.query(q).getResults();
long cloudClientDocs = cloudDocList.getNumFound();
// re-execute the query getting ids
- q = SolrTestCaseJ4.params("q","*:*","rows","100000", "fl","id", "tests","checkShardConsistency(vsControl)/getIds"); // add a tag to aid in debugging via logs
- controlDocList = controlServer.query(q).getResults();
+ q = SolrTestCaseJ4.params("q", "*:*", "rows", "100000", "fl", "id", "tests", "checkShardConsistency(vsControl)/getIds"); // add a tag to aid in debugging via logs
+ controlDocList = controlClient.query(q).getResults();
if (controlDocs != controlDocList.getNumFound()) {
log.error("Something changed! control now " + controlDocList.getNumFound());
};
- cloudDocList = cloudServer.query(q).getResults();
+ cloudDocList = cloudClient.query(q).getResults();
if (cloudClientDocs != cloudDocList.getNumFound()) {
log.error("Something changed! cloudClient now " + cloudDocList.getNumFound());
};
@@ -220,8 +220,8 @@ public class CloudInspectUtil {
"checkShardConsistency(vsControl)/getVers"); // add a tag to aid in
// debugging via logs
- SolrDocumentList a = controlServer.query(q).getResults();
- SolrDocumentList b = cloudServer.query(q).getResults();
+ SolrDocumentList a = controlClient.query(q).getResults();
+ SolrDocumentList b = cloudClient.query(q).getResults();
log.error("controlClient :" + a + "\n\tcloudClient :" + b);
}
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java Sun Jan 4 14:53:12 2015
@@ -18,17 +18,23 @@ package org.apache.solr.cloud;
*/
import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
+import java.io.IOException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.SortedMap;
-import org.apache.commons.io.IOUtils;
+import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
+import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.zookeeper.CreateMode;
+import org.apache.solr.common.params.CollectionParams.CollectionAction;
+import org.apache.solr.common.params.CoreAdminParams;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.util.NamedList;
+import org.apache.zookeeper.KeeperException;
import org.eclipse.jetty.servlet.ServletHolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,6 +46,7 @@ public class MiniSolrCloudCluster {
private ZkTestServer zkServer;
private List<JettySolrRunner> jettys;
private File testDir;
+ private CloudSolrClient solrClient;
/**
* "Mini" SolrCloud cluster to be used for testing
@@ -59,18 +66,10 @@ public class MiniSolrCloudCluster {
+ "zookeeper/server1/data";
zkServer = new ZkTestServer(zkDir);
zkServer.run();
-
- SolrZkClient zkClient = null;
- InputStream is = null;
- try {
- zkClient = new SolrZkClient(zkServer.getZkHost(),
- AbstractZkTestCase.TIMEOUT, 45000, null);
- zkClient.makePath("/solr", false, true);
- is = new FileInputStream(solrXml);
- zkClient.create("/solr/solr.xml", IOUtils.toByteArray(is), CreateMode.PERSISTENT, true);
- } finally {
- IOUtils.closeQuietly(is);
- if (zkClient != null) zkClient.close();
+
+ try(SolrZkClient zkClient = new SolrZkClient(zkServer.getZkHost(),
+ AbstractZkTestCase.TIMEOUT, 45000, null)) {
+ zkClient.makePath("/solr/solr.xml", solrXml, false, true);
}
// tell solr to look in zookeeper for solr.xml
@@ -81,6 +80,8 @@ public class MiniSolrCloudCluster {
for (int i = 0; i < numServers; ++i) {
startJettySolrRunner(hostContext, extraServlets, extraRequestFilters);
}
+
+ solrClient = buildSolrClient();
}
/**
@@ -126,12 +127,40 @@ public class MiniSolrCloudCluster {
jettys.remove(index);
return jetty;
}
+
+ public void uploadConfigDir(File configDir, String configName) throws IOException, KeeperException, InterruptedException {
+ try(SolrZkClient zkClient = new SolrZkClient(zkServer.getZkAddress(),
+ AbstractZkTestCase.TIMEOUT, 45000, null)) {
+ ZkController.uploadConfigDir(zkClient, configDir, configName);
+ }
+ }
+
+ public NamedList<Object> createCollection(String name, int numShards, int replicationFactor,
+ String configName, Map<String, String> collectionProperties) throws SolrServerException, IOException {
+ ModifiableSolrParams params = new ModifiableSolrParams();
+ params.set(CoreAdminParams.ACTION, CollectionAction.CREATE.name());
+ params.set(CoreAdminParams.NAME, name);
+ params.set("numShards", numShards);
+ params.set("replicationFactor", replicationFactor);
+ params.set("collection.configName", configName);
+ if(collectionProperties != null) {
+ for(Map.Entry<String, String> property : collectionProperties.entrySet()){
+ params.set(CoreAdminParams.PROPERTY_PREFIX + property.getKey(), property.getValue());
+ }
+ }
+
+ QueryRequest request = new QueryRequest(params);
+ request.setPath("/admin/collections");
+
+ return solrClient.request(request);
+ }
/**
* Shut down the cluster, including all Solr nodes and ZooKeeper
*/
public void shutdown() throws Exception {
try {
+ solrClient.shutdown();
for (int i = jettys.size() - 1; i >= 0; --i) {
stopJettySolrRunner(i);
}
@@ -144,6 +173,14 @@ public class MiniSolrCloudCluster {
}
}
}
+
+ public CloudSolrClient getSolrClient() {
+ return solrClient;
+ }
+
+ protected CloudSolrClient buildSolrClient() {
+ return new CloudSolrClient(getZkServer().getZkAddress());
+ }
private static String getHostContextSuitableForServletContext(String ctx) {
if (ctx == null || "".equals(ctx)) ctx = "/solr";
@@ -151,4 +188,4 @@ public class MiniSolrCloudCluster {
if (!ctx.startsWith("/")) ctx = "/" + ctx;
return ctx;
}
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/SocketProxy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/SocketProxy.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/SocketProxy.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/SocketProxy.java Sun Jan 4 14:53:12 2015
@@ -59,24 +59,40 @@ public class SocketProxy {
public List<Bridge> connections = new LinkedList<Bridge>();
- private int listenPort = 0;
+ private final int listenPort;
private int receiveBufferSize = -1;
private boolean pauseAtStart = false;
private int acceptBacklog = 50;
+
+ private boolean usesSSL;
+
+ public SocketProxy() throws Exception {
+ this(0, false);
+ }
- public SocketProxy() throws Exception {}
+ public SocketProxy( boolean useSSL) throws Exception {
+ this(0, useSSL);
+ }
- public SocketProxy(URI uri) throws Exception {
- this(0, uri);
+ public SocketProxy(int port, boolean useSSL) throws Exception {
+ int listenPort = port;
+ this.usesSSL = useSSL;
+ serverSocket = createServerSocket(useSSL);
+ serverSocket.setReuseAddress(true);
+ if (receiveBufferSize > 0) {
+ serverSocket.setReceiveBufferSize(receiveBufferSize);
+ }
+ serverSocket.bind(new InetSocketAddress(listenPort), acceptBacklog);
+ this.listenPort = serverSocket.getLocalPort();
}
- public SocketProxy(int port, URI uri) throws Exception {
- listenPort = port;
+ public void open(URI uri) throws Exception {
target = uri;
- open();
+ proxyUrl = urlFromSocket(target, serverSocket);
+ doOpen();
}
public String toString() {
@@ -91,18 +107,8 @@ public class SocketProxy {
target = tcpBrokerUri;
}
- public void open() throws Exception {
- serverSocket = createServerSocket(target);
- serverSocket.setReuseAddress(true);
- if (receiveBufferSize > 0) {
- serverSocket.setReceiveBufferSize(receiveBufferSize);
- }
- if (proxyUrl == null) {
- serverSocket.bind(new InetSocketAddress(listenPort), acceptBacklog);
- proxyUrl = urlFromSocket(target, serverSocket);
- } else {
- serverSocket.bind(new InetSocketAddress(proxyUrl.getPort()));
- }
+ private void doOpen() throws Exception {
+
acceptor = new Acceptor(serverSocket, target);
if (pauseAtStart) {
acceptor.pause();
@@ -112,19 +118,19 @@ public class SocketProxy {
closed = new CountDownLatch(1);
}
- private boolean isSsl(URI target) {
- return "ssl".equals(target.getScheme());
+ public int getListenPort() {
+ return listenPort;
}
- private ServerSocket createServerSocket(URI target) throws Exception {
- if (isSsl(target)) {
+ private ServerSocket createServerSocket(boolean useSSL) throws Exception {
+ if (useSSL) {
return SSLServerSocketFactory.getDefault().createServerSocket();
}
return new ServerSocket();
}
- private Socket createSocket(URI target) throws Exception {
- if (isSsl(target)) {
+ private Socket createSocket(boolean useSSL) throws Exception {
+ if (useSSL) {
return SSLSocketFactory.getDefault().createSocket();
}
return new Socket();
@@ -175,7 +181,16 @@ public class SocketProxy {
public void reopen() {
log.info("Re-opening connectivity to "+getUrl());
try {
- open();
+ if (proxyUrl == null) {
+ throw new IllegalStateException("Can not call open before open(URI uri).");
+ }
+ serverSocket = createServerSocket(usesSSL);
+ serverSocket.setReuseAddress(true);
+ if (receiveBufferSize > 0) {
+ serverSocket.setReceiveBufferSize(receiveBufferSize);
+ }
+ serverSocket.bind(new InetSocketAddress(proxyUrl.getPort()));
+ doOpen();
} catch (Exception e) {
log.debug("exception on reopen url:" + getUrl(), e);
}
@@ -257,7 +272,7 @@ public class SocketProxy {
public Bridge(Socket socket, URI target) throws Exception {
receiveSocket = socket;
- sendSocket = createSocket(target);
+ sendSocket = createSocket(usesSSL);
if (receiveBufferSize > 0) {
sendSocket.setReceiveBufferSize(receiveBufferSize);
}
@@ -291,9 +306,9 @@ public class SocketProxy {
}
private void linkWithThreads(Socket source, Socket dest) {
- requestThread = new Pump(source, dest);
+ requestThread = new Pump("Request", source, dest);
requestThread.start();
- responseThread = new Pump(dest, source);
+ responseThread = new Pump("Response", dest, source);
responseThread.start();
}
@@ -303,8 +318,8 @@ public class SocketProxy {
private Socket destination;
private AtomicReference<CountDownLatch> pause = new AtomicReference<CountDownLatch>();
- public Pump(Socket source, Socket dest) {
- super("SocketProxy-DataTransfer-" + source.getPort() + ":"
+ public Pump(String kind, Socket source, Socket dest) {
+ super("SocketProxy-"+kind+"-" + source.getPort() + ":"
+ dest.getPort());
src = source;
destination = dest;
@@ -321,17 +336,34 @@ public class SocketProxy {
public void run() {
byte[] buf = new byte[1024];
+
+ try {
+ src.setSoTimeout(10 * 1000);
+ } catch (SocketException e) {
+ log.error("Failed to set socket timeout on "+src+" due to: "+e);
+ throw new RuntimeException(e);
+ }
+
+ InputStream in = null;
+ OutputStream out = null;
try {
- InputStream in = src.getInputStream();
- OutputStream out = destination.getOutputStream();
+ in = src.getInputStream();
+ out = destination.getOutputStream();
while (true) {
- int len = in.read(buf);
+ int len = -1;
+ try {
+ len = in.read(buf);
+ } catch (SocketTimeoutException ste) {
+ log.warn(ste+" when reading from "+src);
+ }
+
if (len == -1) {
log.debug("read eof from:" + src);
break;
}
pause.get().await();
- out.write(buf, 0, len);
+ if (len > 0)
+ out.write(buf, 0, len);
}
} catch (Exception e) {
log.debug("read/write failed, reason: " + e.getLocalizedMessage());
@@ -342,6 +374,21 @@ public class SocketProxy {
close();
}
} catch (Exception ignore) {}
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (Exception exc) {
+ log.debug(exc+" when closing InputStream on socket: "+src);
+ }
+ }
+ if (out != null) {
+ try {
+ out.close();
+ } catch (Exception exc) {
+ log.debug(exc+" when closing OutputStream on socket: "+destination);
+ }
+ }
}
}
}
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/StopableIndexingThread.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/StopableIndexingThread.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/StopableIndexingThread.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/cloud/StopableIndexingThread.java Sun Jan 4 14:53:12 2015
@@ -6,7 +6,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.solr.client.solrj.SolrServer;
+import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.common.SolrInputDocument;
@@ -38,16 +38,16 @@ public class StopableIndexingThread exte
protected Set<String> deleteFails = new HashSet<>();
protected boolean doDeletes;
private int numCycles;
- private SolrServer controlClient;
- private SolrServer cloudClient;
+ private SolrClient controlClient;
+ private SolrClient cloudClient;
private int numDeletes;
private int numAdds;
- public StopableIndexingThread(SolrServer controlClient, SolrServer cloudClient, String id, boolean doDeletes) {
+ public StopableIndexingThread(SolrClient controlClient, SolrClient cloudClient, String id, boolean doDeletes) {
this(controlClient, cloudClient, id, doDeletes, -1);
}
- public StopableIndexingThread(SolrServer controlClient, SolrServer cloudClient, String id, boolean doDeletes, int numCycles) {
+ public StopableIndexingThread(SolrClient controlClient, SolrClient cloudClient, String id, boolean doDeletes, int numCycles) {
super("StopableIndexingThread");
this.controlClient = controlClient;
this.cloudClient = cloudClient;
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/ExternalPaths.java Sun Jan 4 14:53:12 2015
@@ -51,9 +51,6 @@ public class ExternalPaths {
public static String TECHPRODUCTS_CONFIGSET =
new File(SOURCE_HOME, "server/solr/configsets/sample_techproducts_configs/conf").getAbsolutePath();
- /* @see #SOURCE_HOME */
- public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
-
public static String SERVER_HOME = new File(SOURCE_HOME, "server/solr").getAbsolutePath();
/**
Modified: lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java (original)
+++ lucene/dev/branches/lucene6005/solr/test-framework/src/java/org/apache/solr/util/TestHarness.java Sun Jan 4 14:53:12 2015
@@ -200,7 +200,7 @@ public class TestHarness extends BaseTes
return container;
}
- /** Gets a core that does not have it's refcount incremented (i.e. there is no need to
+ /** Gets a core that does not have its refcount incremented (i.e. there is no need to
* close when done). This is not MT safe in conjunction with reloads!
*/
public SolrCore getCore() {
@@ -212,7 +212,7 @@ public class TestHarness extends BaseTes
return core;
}
- /** Gets the core with it's reference count incremented.
+ /** Gets the core with its reference count incremented.
* You must call core.close() when done!
*/
public SolrCore getCoreInc() {
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/admin.html
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/admin.html?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/webapp/web/admin.html (original)
+++ lucene/dev/branches/lucene6005/solr/webapp/web/admin.html Sun Jan 4 14:53:12 2015
@@ -22,7 +22,8 @@ limitations under the License.
<title>Solr Admin</title>
- <link rel="icon" type="image/ico" href="img/favicon.ico?_=${version}">
+ <link rel="icon" type="image/x-icon" href="img/favicon.ico?_=${version}">
+ <link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico?_=${version}">
<link rel="stylesheet" type="text/css" href="css/styles/common.css?_=${version}">
<link rel="stylesheet" type="text/css" href="css/styles/analysis.css?_=${version}">
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/cloud.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/cloud.css?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/cloud.css (original)
+++ lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/cloud.css Sun Jan 4 14:53:12 2015
@@ -401,3 +401,10 @@ limitations under the License.
{
stroke: #fff;
}
+
+#cloudGraphPaging
+{
+ display: inline-block,
+ padding-top: 15px,
+ padding-bottom: 15px
+}
\ No newline at end of file
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/common.css
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/common.css?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/common.css (original)
+++ lucene/dev/branches/lucene6005/solr/webapp/web/css/styles/common.css Sun Jan 4 14:53:12 2015
@@ -202,7 +202,8 @@ ul
#header #solr
{
- background-image: url( ../../img/solr.png );
+ background-image: url( ../../img/solr.svg );
+ background-size: 128px;
display: block;
height: 78px;
width: 150px;
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/favicon.ico
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/favicon.ico?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/img/favicon.ico
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/img/favicon.ico?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/img/solr-ico.png
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/img/solr-ico.png?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
Binary files - no diff available.
Modified: lucene/dev/branches/lucene6005/solr/webapp/web/js/lib/jquery.ajaxfileupload.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6005/solr/webapp/web/js/lib/jquery.ajaxfileupload.js?rev=1649347&r1=1649346&r2=1649347&view=diff
==============================================================================
--- lucene/dev/branches/lucene6005/solr/webapp/web/js/lib/jquery.ajaxfileupload.js (original)
+++ lucene/dev/branches/lucene6005/solr/webapp/web/js/lib/jquery.ajaxfileupload.js Sun Jan 4 14:53:12 2015
@@ -128,7 +128,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOU
wrapElement($element);
// Call user-supplied (or default) onStart(), setting
- // it's this context to the file DOM element
+ // its this context to the file DOM element
var ret = settings.onStart.apply($element, [settings.params]);
// let onStart have the option to cancel the upload