You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2010/10/18 18:32:02 UTC
svn commit: r1023893 - in /lucene/dev/trunk/solr/src:
common/org/apache/solr/common/cloud/ java/org/apache/solr/core/
java/org/apache/solr/util/ test/org/apache/solr/
test/org/apache/solr/cloud/ test/org/apache/solr/core/
Author: markrmiller
Date: Mon Oct 18 16:32:01 2010
New Revision: 1023893
URL: http://svn.apache.org/viewvc?rev=1023893&view=rev
Log:
SOLR-2170: BasicZkTest instantiates extra CoreContainer
Modified:
lucene/dev/trunk/solr/src/common/org/apache/solr/common/cloud/CloudState.java
lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java
lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java
lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/AbstractZkTestCase.java
lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicZkTest.java
lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java
lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/ZkNodePropsTest.java
lucene/dev/trunk/solr/src/test/org/apache/solr/core/TestJmxIntegration.java
Modified: lucene/dev/trunk/solr/src/common/org/apache/solr/common/cloud/CloudState.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/common/org/apache/solr/common/cloud/CloudState.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/common/org/apache/solr/common/cloud/CloudState.java (original)
+++ lucene/dev/trunk/solr/src/common/org/apache/solr/common/cloud/CloudState.java Mon Oct 18 16:32:01 2010
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.solr.common.SolrException;
import org.apache.zookeeper.KeeperException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -140,5 +139,12 @@ public class CloudState {
return liveNodesSet;
}
+
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("live nodes:" + liveNodes);
+ sb.append(" collections:" + collectionStates);
+ return sb.toString();
+ }
}
Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/core/CoreContainer.java Mon Oct 18 16:32:01 2010
@@ -80,7 +80,7 @@ public class CoreContainer
protected String solrHome;
@Deprecated
protected String solrConfigFilenameOverride;
- private String defaultCoreName = "";
+ protected String defaultCoreName = "";
private ZkController zkController;
private SolrZkServer zkServer;
@@ -121,7 +121,7 @@ public class CoreContainer
this.solrHome = solrHome;
}
- private void initZooKeeper(String zkHost, int zkClientTimeout) {
+ protected void initZooKeeper(String zkHost, int zkClientTimeout) {
// if zkHost sys property is not set, we are not using ZooKeeper
String zookeeperHost;
if(zkHost == null) {
Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java Mon Oct 18 16:32:01 2010
@@ -175,12 +175,21 @@ public class TestHarness {
}
@Override
public CoreContainer initialize() {
- CoreContainer container = new CoreContainer(new SolrResourceLoader(SolrResourceLoader.locateSolrHome()));
+ CoreContainer container = new CoreContainer(new SolrResourceLoader(SolrResourceLoader.locateSolrHome())) {
+ {
+ hostPort = System.getProperty("hostPort");
+ hostContext = "solr";
+ defaultCoreName = "collection1";
+ initZooKeeper(System.getProperty("zkHost"), 10000);
+ }
+ };
+
CoreDescriptor dcore = new CoreDescriptor(container, coreName, solrConfig.getResourceLoader().getInstanceDir());
dcore.setConfigName(solrConfig.getResourceName());
dcore.setSchemaName(indexSchema.getResourceName());
- SolrCore core = new SolrCore( null, dataDirectory, solrConfig, indexSchema, dcore);
+ SolrCore core = new SolrCore("collection1", dataDirectory, solrConfig, indexSchema, dcore);
container.register(coreName, core, false);
+
return container;
}
}
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java Mon Oct 18 16:32:01 2010
@@ -219,8 +219,9 @@ public abstract class SolrTestCaseJ4 ext
if (factoryProp == null) {
System.setProperty("solr.directoryFactory","solr.RAMDirectoryFactory");
}
-
- createTempDir();
+ if (dataDir == null) {
+ createTempDir();
+ }
// other methods like starting a jetty instance need these too
System.setProperty("solr.test.sys.prop1", "propone");
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/AbstractZkTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/AbstractZkTestCase.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/AbstractZkTestCase.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/AbstractZkTestCase.java Mon Oct 18 16:32:01 2010
@@ -18,14 +18,14 @@ package org.apache.solr.cloud;
*/
import java.io.File;
+import java.io.IOException;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
-import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrConfig;
-import org.apache.solr.util.TestHarness;
import org.apache.zookeeper.CreateMode;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,51 +46,22 @@ public abstract class AbstractZkTestCase
protected static String zkDir;
- public AbstractZkTestCase() {
-
- }
@BeforeClass
public static void azt_beforeClass() throws Exception {
- }
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
- if (h != null) {
- log.warn("HACK: closing previous test harness");
- h.close();
- h=null;
- }
-
+ createTempDir();
zkDir = dataDir.getAbsolutePath() + File.separator
+ "zookeeper/server1/data";
zkServer = new ZkTestServer(zkDir);
zkServer.run();
- System.setProperty("zkHost", zkServer.getZkAddress());
- buildZooKeeper(zkServer.getZkHost(), zkServer.getZkAddress(),
- getSolrConfigFile(), getSchemaFile());
-
- log.info("####SETUP_START " + getName());
-
- dataDir.mkdirs();
-
- // set some system properties for use by tests
- System.setProperty("solr.test.sys.prop1", "propone");
- System.setProperty("solr.test.sys.prop2", "proptwo");
- CoreContainer.Initializer init = new CoreContainer.Initializer() {
- {
- this.dataDir = AbstractZkTestCase.dataDir.getAbsolutePath();
- }
- };
-
- h = new TestHarness("", init);
- lrf = h.getRequestFactory("standard", 0, 20, "version", "2.2");
+ System.setProperty("zkHost", zkServer.getZkAddress());
+ System.setProperty("hostPort", "0000");
- log.info("####SETUP_END " + getName());
+ buildZooKeeper(zkServer.getZkHost(), zkServer.getZkAddress(),
+ "solrconfig.xml", "schema.xml");
+ initCore("solrconfig.xml", "schema.xml");
}
// static to share with distrib test
@@ -131,15 +102,20 @@ public abstract class AbstractZkTestCase
if (DEBUG) {
printLayout(zkServer.getZkHost());
}
+
+ SolrConfig.severeErrors.clear();
+ super.tearDown();
+ }
+
+ @AfterClass
+ public static void azt_afterClass() throws IOException {
zkServer.shutdown();
System.clearProperty("zkHost");
System.clearProperty("solr.test.sys.prop1");
System.clearProperty("solr.test.sys.prop2");
- SolrConfig.severeErrors.clear();
- super.tearDown();
}
- private void printLayout(String zkHost) throws Exception {
+ protected void printLayout(String zkHost) throws Exception {
SolrZkClient zkClient = new SolrZkClient(zkHost, AbstractZkTestCase.TIMEOUT);
zkClient.printLayoutToStdOut();
zkClient.close();
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java Mon Oct 18 16:32:01 2010
@@ -24,7 +24,6 @@ import org.apache.solr.client.solrj.impl
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.core.SolrConfig;
import org.junit.BeforeClass;
/**
@@ -279,5 +278,6 @@ public class BasicDistributedZkTest exte
public void tearDown() throws Exception {
super.tearDown();
System.clearProperty("CLOUD_UPDATE_DELAY");
+ System.clearProperty("zkHost");
}
}
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicZkTest.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicZkTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/BasicZkTest.java Mon Oct 18 16:32:01 2010
@@ -21,17 +21,18 @@ import org.apache.lucene.index.LogMergeP
import org.apache.solr.core.SolrCore;
import org.apache.solr.update.SolrIndexWriter;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
-import static org.junit.Assert.*;
/**
*
*/
public class BasicZkTest extends AbstractZkTestCase {
+
@BeforeClass
- public static void beforeClass() throws Exception {
- initCore("solrconfig.xml", "schema.xml");
+ public static void beforeClass() {
+ System.setProperty("CLOUD_UPDATE_DELAY", "1");
}
@Test
@@ -99,13 +100,17 @@ public class BasicZkTest extends Abstrac
Thread.sleep(300);
// try a reconnect from disconnect
-
zkServer = new ZkTestServer(zkDir);
zkServer.run();
- // ensure zk still thinks node is up
- assertTrue(zkController.getCloudState().liveNodesContain(zkController.getNodeName()));
+ Thread.sleep(300);
+ // ensure zk still thinks node is up
+ assertTrue(
+ zkController.getCloudState().getLiveNodes().toString(),
+ zkController.getCloudState().liveNodesContain(
+ zkController.getNodeName()));
+
// test maxint
assertQ(req("q", "id:[100 TO 110]", "rows", "2147483647"),
"//*[@numFound='4']");
@@ -124,6 +129,10 @@ public class BasicZkTest extends Abstrac
assertU(delQ("id:[100 TO 110]"));
assertU(commit());
assertQ(req("id:[100 TO 110]"), "//*[@numFound='0']");
-
+ }
+
+ @AfterClass
+ public static void afterClass() {
+ System.clearProperty("CLOUD_UPDATE_DELAY");
}
}
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/CloudStateUpdateTest.java Mon Oct 18 16:32:01 2010
@@ -27,18 +27,16 @@ import org.apache.solr.common.cloud.Slic
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.core.CoreContainer;
+import org.apache.solr.core.CoreContainer.Initializer;
import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.core.CoreContainer.Initializer;
import org.apache.zookeeper.CreateMode;
import org.junit.BeforeClass;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.junit.Test;
-import static org.junit.Assert.*;
-
/**
* TODO: look at hostPort used below
*/
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/ZkNodePropsTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/ZkNodePropsTest.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/ZkNodePropsTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/cloud/ZkNodePropsTest.java Mon Oct 18 16:32:01 2010
@@ -21,9 +21,7 @@ import java.io.IOException;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.ZkNodeProps;
-
import org.junit.Test;
-import static org.junit.Assert.*;
public class ZkNodePropsTest extends SolrTestCaseJ4 {
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/core/TestJmxIntegration.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/core/TestJmxIntegration.java?rev=1023893&r1=1023892&r2=1023893&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/core/TestJmxIntegration.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/core/TestJmxIntegration.java Mon Oct 18 16:32:01 2010
@@ -95,7 +95,6 @@ public class TestJmxIntegration extends
}
if (bean==null) throw new RuntimeException("searcher was never registered");
ObjectName searcher = getObjectName("searcher", bean);
-
MBeanServer mbeanServer = servers.get(0);
log.info("Mbeans in server: " + mbeanServer.queryNames(null, null));
@@ -114,7 +113,14 @@ public class TestJmxIntegration extends
Hashtable<String, String> map = new Hashtable<String, String>();
map.put("type", key);
map.put("id", infoBean.getName());
- return ObjectName.getInstance("solr", map);
+ String coreName = h.getCore().getName();
+ if (coreName.equals("")) {
+ String defaultCoreName = h.getCore().getCoreDescriptor().getCoreContainer().getDefaultCoreName();
+ if (!defaultCoreName.equals("")) {
+ coreName = defaultCoreName;
+ }
+ }
+ return ObjectName.getInstance(("solr" + (null != coreName ? "/" + coreName : "")), map);
}
}