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 2012/10/29 15:55:07 UTC
svn commit: r1403336 [4/5] - in /lucene/dev/branches/lucene3846: ./
dev-tools/ dev-tools/eclipse/ dev-tools/idea/.idea/libraries/
dev-tools/idea/lucene/classification/ dev-tools/maven/
dev-tools/maven/lucene/classification/ dev-tools/maven/lucene/core/...
Modified: lucene/dev/branches/lucene3846/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java Mon Oct 29 14:55:01 2012
@@ -603,11 +603,15 @@ public class DistributedUpdateProcessor
for (Entry<String,Object> entry : ((Map<String,Object>) val).entrySet()) {
String key = entry.getKey();
Object fieldVal = entry.getValue();
+ boolean updateField = false;
if ("add".equals(key)) {
+ updateField = true;
oldDoc.addField( sif.getName(), fieldVal, sif.getBoost());
} else if ("set".equals(key)) {
+ updateField = true;
oldDoc.setField(sif.getName(), fieldVal, sif.getBoost());
} else if ("inc".equals(key)) {
+ updateField = true;
SolrInputField numericField = oldDoc.get(sif.getName());
if (numericField == null) {
oldDoc.setField(sif.getName(), fieldVal, sif.getBoost());
@@ -636,6 +640,12 @@ public class DistributedUpdateProcessor
}
}
+
+ // validate that the field being modified is not the id field.
+ if (updateField && idField.getName().equals(sif.getName())) {
+ throw new SolrException(ErrorCode.BAD_REQUEST, "Invalid update of id field: " + sif);
+ }
+
}
} else {
// normal fields are treated as a "set"
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/AnalysisAfterCoreReloadTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/AnalysisAfterCoreReloadTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/AnalysisAfterCoreReloadTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/AnalysisAfterCoreReloadTest.java Mon Oct 29 14:55:01 2012
@@ -23,49 +23,26 @@ import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
-import org.apache.solr.client.solrj.embedded.JettySolrRunner;
-import org.apache.solr.client.solrj.impl.HttpSolrServer;
-import org.apache.solr.client.solrj.request.CoreAdminRequest;
+import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
+import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
-import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.core.SolrCore;
-import org.apache.solr.util.AbstractSolrTestCase;
-import org.junit.After;
+import org.junit.BeforeClass;
-public class AnalysisAfterCoreReloadTest extends AbstractSolrTestCase {
- private File homeDir;
+public class AnalysisAfterCoreReloadTest extends SolrTestCaseJ4 {
+
int port = 0;
static final String context = "/solr";
- JettySolrRunner jetty;
+
static final String collection = "collection1";
- @After
- public void cleanUp() throws Exception {
- jetty.stop();
- if (homeDir != null && homeDir.isDirectory() && homeDir.exists())
- recurseDelete(homeDir);
- }
-
- @Override
- public String getSolrHome() {
- return homeDir.getAbsolutePath();
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
}
- @Override
- public void setUp() throws Exception {
- homeDir = new File(TEMP_DIR + File.separator + "solr-test-home-" + System.nanoTime());
- homeDir.mkdirs();
- FileUtils.copyDirectory(new File(getFile("solr/" + collection).getParent()), homeDir, false);
-
- super.setUp();
-
- jetty = new JettySolrRunner(getSolrHome(), context, 0 );
- jetty.start(false);
- port = jetty.getLocalPort();
- }
-
public void testStopwordsAfterCoreReload() throws Exception {
SolrInputDocument doc = new SolrInputDocument();
doc.setField( "id", "42" );
@@ -100,8 +77,7 @@ public class AnalysisAfterCoreReloadTest
// overwrite stopwords file with stopword list ["stopwordc"] and reload the core
overwriteStopwords("stopwordc\n");
- SolrServer coreadmin = getSolrAdmin();
- CoreAdminRequest.reloadCore(collection, coreadmin);
+ h.getCoreContainer().reload(collection);
up.process( getSolrCore() );
@@ -133,42 +109,33 @@ public class AnalysisAfterCoreReloadTest
SolrCore core = h.getCoreContainer().getCore(collection);
try {
String configDir = core.getResourceLoader().getConfigDir();
+ FileUtils.moveFile(new File(configDir, "stopwords.txt"), new File(configDir, "stopwords.txt.bak"));
File file = new File(configDir, "stopwords.txt");
FileUtils.writeStringToFile(file, stopwords);
+
} finally {
core.close();
}
}
- protected SolrServer getSolrAdmin() {
- return createServer("");
- }
- protected SolrServer getSolrCore() {
- return createServer(collection);
- }
- private SolrServer createServer( String name ) {
+ @Override
+ public void tearDown() throws Exception {
+ SolrCore core = h.getCoreContainer().getCore(collection);
+ String configDir;
try {
- // setup the server...
- String url = "http://127.0.0.1:"+port+context+"/"+name;
- HttpSolrServer s = new HttpSolrServer( url );
- s.setConnectionTimeout(SolrTestCaseJ4.DEFAULT_CONNECTION_TIMEOUT);
- s.setDefaultMaxConnectionsPerHost(100);
- s.setMaxTotalConnections(100);
- return s;
+ configDir = core.getResourceLoader().getConfigDir();
+ } finally {
+ core.close();
}
- catch( Exception ex ) {
- throw new RuntimeException( ex );
+ super.tearDown();
+ if (new File(configDir, "stopwords.txt.bak").exists()) {
+ FileUtils.deleteQuietly(new File(configDir, "stopwords.txt"));
+ FileUtils.moveFile(new File(configDir, "stopwords.txt.bak"), new File(configDir, "stopwords.txt"));
}
}
- @Override
- public String getSchemaFile() {
- return "schema.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+ protected SolrServer getSolrCore() {
+ return new EmbeddedSolrServer(h.getCore());
}
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZk2Test.java Mon Oct 29 14:55:01 2012
@@ -33,13 +33,22 @@ import org.apache.solr.common.cloud.ZkSt
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.servlet.SolrDispatchFilter;
+import org.junit.BeforeClass;
/**
* This test simply does a bunch of basic things in solrcloud mode and asserts things
* work as expected.
*/
public class BasicDistributedZk2Test extends AbstractFullDistribZkTestBase {
-
+ @BeforeClass
+ public static void beforeThisClass2() throws Exception {
+ // TODO: we use an fs based dir because something
+ // like a ram dir will not recover correctly right now
+ // because tran log will still exist on restart and ram
+ // dir will not persist - perhaps translog can empty on
+ // start if using an EphemeralDirectoryFactory
+ useFactory(null);
+ }
/*
* (non-Javadoc)
*
@@ -59,11 +68,11 @@ public class BasicDistributedZk2Test ext
"now is the time for all good men", "foo_f", 1.414f, "foo_b", "true",
"foo_d", 1.414d);
- // make sure we are in a steady state...
- waitForRecoveriesToFinish(false);
-
commit();
+ // make sure we are in a steady state...
+ waitForRecoveriesToFinish(false);
+
assertDocCounts(false);
indexAbunchOfDocs();
@@ -100,6 +109,7 @@ public class BasicDistributedZk2Test ext
// TODO: bring this to it's own method?
// try indexing to a leader that has no replicas up
+ ZkStateReader zkStateReader = cloudClient.getZkStateReader();
ZkNodeProps leaderProps = zkStateReader.getLeaderProps(
DEFAULT_COLLECTION, SHARD2);
@@ -175,9 +185,13 @@ public class BasicDistributedZk2Test ext
query("q", "*:*", "sort", "n_tl1 desc");
+ int oldLiveNodes = cloudClient.getZkStateReader().getZkClient().getChildren(ZkStateReader.LIVE_NODES_ZKNODE, null, true).size();
+
+ assertEquals(5, oldLiveNodes);
+
// kill a shard
CloudJettyRunner deadShard = chaosMonkey.stopShard(SHARD2, 0);
- cloudClient.connect();
+
// we are careful to make sure the downed node is no longer in the state,
// because on some systems (especially freebsd w/ blackhole enabled), trying
@@ -186,10 +200,23 @@ public class BasicDistributedZk2Test ext
jetties.addAll(shardToJetty.get(SHARD2));
jetties.remove(deadShard);
+ // wait till live nodes drops by 1
+ int liveNodes = cloudClient.getZkStateReader().getZkClient().getChildren(ZkStateReader.LIVE_NODES_ZKNODE, null, true).size();
+ int tries = 50;
+ while(oldLiveNodes == liveNodes) {
+ Thread.sleep(100);
+ if (tries-- == 0) {
+ fail("We expected a node to drop...");
+ }
+ liveNodes = cloudClient.getZkStateReader().getZkClient().getChildren(ZkStateReader.LIVE_NODES_ZKNODE, null, true).size();
+ }
+ assertEquals(4, liveNodes);
+
+ int cnt = 0;
for (CloudJettyRunner cjetty : jetties) {
waitToSeeNotLive(((SolrDispatchFilter) cjetty.jetty.getDispatchFilter()
.getFilter()).getCores().getZkController().getZkStateReader(),
- deadShard);
+ deadShard, cnt++);
}
waitToSeeNotLive(cloudClient.getZkStateReader(), deadShard);
@@ -203,6 +230,9 @@ public class BasicDistributedZk2Test ext
}
commit();
+
+ printLayout();
+
query("q", "*:*", "sort", "n_tl1 desc");
// long cloudClientDocs = cloudClient.query(new
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java Mon Oct 29 14:55:01 2012
@@ -27,6 +27,7 @@ import java.util.Iterator;
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.Callable;
import java.util.concurrent.CompletionService;
@@ -69,9 +70,11 @@ import org.apache.solr.common.params.Com
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.UpdateParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.update.DirectUpdateHandler2;
import org.apache.solr.update.SolrCmdDistributor.Request;
import org.apache.solr.util.DefaultSolrThreadFactory;
import org.junit.Before;
+import org.junit.BeforeClass;
/**
* This test simply does a bunch of basic things in solrcloud mode and asserts things
@@ -111,6 +114,12 @@ public class BasicDistributedZkTest exte
CompletionService<Request> completionService;
Set<Future<Request>> pending;
+ @BeforeClass
+ public static void beforeThisClass2() throws Exception {
+ // TODO: we use an fs based dir because something
+ // like a ram dir will not recover correctly right now
+ useFactory(null);
+ }
@Before
@Override
@@ -124,7 +133,7 @@ public class BasicDistributedZkTest exte
fixShardCount = true;
sliceCount = 2;
- shardCount = 3;
+ shardCount = 4;
completionService = new ExecutorCompletionService<Request>(executor);
pending = new HashSet<Future<Request>>();
@@ -151,7 +160,7 @@ public class BasicDistributedZkTest exte
public void doTest() throws Exception {
// setLoggingLevel(null);
-
+ ZkStateReader zkStateReader = cloudClient.getZkStateReader();
// make sure we have leaders for each shard
for (int j = 1; j < sliceCount; j++) {
zkStateReader.getLeaderProps(DEFAULT_COLLECTION, "shard" + j, 10000);
@@ -330,13 +339,278 @@ public class BasicDistributedZkTest exte
testUpdateProcessorsRunOnlyOnce("distrib-dup-test-chain-implicit");
testCollectionsAPI();
-
+ testCoreUnloadAndLeaders();
+ testUnloadLotsOfCores();
// Thread.sleep(10000000000L);
if (DEBUG) {
super.printLayout();
}
}
+ /**
+ * @throws Exception on any problem
+ */
+ private void testCoreUnloadAndLeaders() throws Exception {
+ // create a new collection collection
+ SolrServer client = clients.get(0);
+ String url1 = getBaseUrl(client);
+ HttpSolrServer server = new HttpSolrServer(url1);
+
+ Create createCmd = new Create();
+ createCmd.setCoreName("unloadcollection1");
+ createCmd.setCollection("unloadcollection");
+ createCmd.setNumShards(1);
+ String core1DataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection1" + "_1n";
+ createCmd.setDataDir(core1DataDir);
+ server.request(createCmd);
+
+ ZkStateReader zkStateReader = solrj.getZkStateReader();
+
+ zkStateReader.updateClusterState(true);
+
+ int slices = zkStateReader.getClusterState().getCollectionStates().get("unloadcollection").size();
+ assertEquals(1, slices);
+
+ client = clients.get(1);
+ String url2 = getBaseUrl(client);
+ server = new HttpSolrServer(url2);
+
+ createCmd = new Create();
+ createCmd.setCoreName("unloadcollection2");
+ createCmd.setCollection("unloadcollection");
+ String core2dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection1" + "_2n";
+ createCmd.setDataDir(core2dataDir);
+ server.request(createCmd);
+
+ zkStateReader.updateClusterState(true);
+ slices = zkStateReader.getClusterState().getCollectionStates().get("unloadcollection").size();
+ assertEquals(1, slices);
+
+ waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
+
+ ZkCoreNodeProps leaderProps = getLeaderUrlFromZk("unloadcollection", "shard1");
+
+ Random random = random();
+ HttpSolrServer collectionClient;
+ if (random.nextBoolean()) {
+ collectionClient = new HttpSolrServer(leaderProps.getCoreUrl());
+ // lets try and use the solrj client to index and retrieve a couple
+ // documents
+ SolrInputDocument doc1 = getDoc(id, 6, i1, -600, tlong, 600, t1,
+ "humpty dumpy sat on a wall");
+ SolrInputDocument doc2 = getDoc(id, 7, i1, -600, tlong, 600, t1,
+ "humpty dumpy3 sat on a walls");
+ SolrInputDocument doc3 = getDoc(id, 8, i1, -600, tlong, 600, t1,
+ "humpty dumpy2 sat on a walled");
+ collectionClient.add(doc1);
+ collectionClient.add(doc2);
+ collectionClient.add(doc3);
+ collectionClient.commit();
+ }
+
+ // create another replica for our collection
+ client = clients.get(2);
+ String url3 = getBaseUrl(client);
+ server = new HttpSolrServer(url3);
+
+ createCmd = new Create();
+ createCmd.setCoreName("unloadcollection3");
+ createCmd.setCollection("unloadcollection");
+ String core3dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection" + "_3n";
+ createCmd.setDataDir(core3dataDir);
+ server.request(createCmd);
+
+ waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
+
+ // so that we start with some versions when we reload...
+ DirectUpdateHandler2.commitOnClose = false;
+
+ HttpSolrServer addClient = new HttpSolrServer(url3 + "/unloadcollection3");
+ // add a few docs
+ for (int x = 20; x < 100; x++) {
+ SolrInputDocument doc1 = getDoc(id, x, i1, -600, tlong, 600, t1,
+ "humpty dumpy sat on a wall");
+ addClient.add(doc1);
+ }
+
+ // don't commit so they remain in the tran log
+ //collectionClient.commit();
+
+ // unload the leader
+ collectionClient = new HttpSolrServer(leaderProps.getBaseUrl());
+
+ Unload unloadCmd = new Unload(false);
+ unloadCmd.setCoreName(leaderProps.getCoreName());
+ ModifiableSolrParams p = (ModifiableSolrParams) unloadCmd.getParams();
+
+ collectionClient.request(unloadCmd);
+
+// Thread.currentThread().sleep(500);
+// printLayout();
+
+ int tries = 20;
+ while (leaderProps.getCoreUrl().equals(zkStateReader.getLeaderUrl("unloadcollection", "shard1", 15000))) {
+ Thread.sleep(100);
+ if (tries-- == 0) {
+ fail("Leader never changed");
+ }
+ }
+
+ // ensure there is a leader
+ zkStateReader.getLeaderProps("unloadcollection", "shard1", 15000);
+
+ addClient = new HttpSolrServer(url2 + "/unloadcollection2");
+ // add a few docs while the leader is down
+ for (int x = 101; x < 200; x++) {
+ SolrInputDocument doc1 = getDoc(id, x, i1, -600, tlong, 600, t1,
+ "humpty dumpy sat on a wall");
+ addClient.add(doc1);
+ }
+
+
+ // create another replica for our collection
+ client = clients.get(3);
+ String url4 = getBaseUrl(client);
+ server = new HttpSolrServer(url4);
+
+ createCmd = new Create();
+ createCmd.setCoreName("unloadcollection4");
+ createCmd.setCollection("unloadcollection");
+ String core4dataDir = dataDir.getAbsolutePath() + File.separator + System.currentTimeMillis() + "unloadcollection" + "_4n";
+ createCmd.setDataDir(core4dataDir);
+ server.request(createCmd);
+
+ waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
+
+ // unload the leader again
+ leaderProps = getLeaderUrlFromZk("unloadcollection", "shard1");
+ collectionClient = new HttpSolrServer(leaderProps.getBaseUrl());
+
+ unloadCmd = new Unload(false);
+ unloadCmd.setCoreName(leaderProps.getCoreName());
+ p = (ModifiableSolrParams) unloadCmd.getParams();
+ collectionClient.request(unloadCmd);
+
+ tries = 20;
+ while (leaderProps.getCoreUrl().equals(zkStateReader.getLeaderUrl("unloadcollection", "shard1", 15000))) {
+ Thread.sleep(100);
+ if (tries-- == 0) {
+ fail("Leader never changed");
+ }
+ }
+
+ zkStateReader.getLeaderProps("unloadcollection", "shard1", 15000);
+
+
+ // set this back
+ DirectUpdateHandler2.commitOnClose = true;
+
+ // bring the downed leader back as replica
+ server = new HttpSolrServer(leaderProps.getBaseUrl());
+
+ createCmd = new Create();
+ createCmd.setCoreName(leaderProps.getCoreName());
+ createCmd.setCollection("unloadcollection");
+ createCmd.setDataDir(core1DataDir);
+ server.request(createCmd);
+
+ waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
+
+
+ server = new HttpSolrServer(url1 + "/unloadcollection");
+ // System.out.println(server.query(new SolrQuery("*:*")).getResults().getNumFound());
+ server = new HttpSolrServer(url2 + "/unloadcollection");
+ server.commit();
+ SolrQuery q = new SolrQuery("*:*");
+ q.set("distrib", false);
+ long found1 = server.query(q).getResults().getNumFound();
+ server = new HttpSolrServer(url3 + "/unloadcollection");
+ server.commit();
+ q = new SolrQuery("*:*");
+ q.set("distrib", false);
+ long found3 = server.query(q).getResults().getNumFound();
+ server = new HttpSolrServer(url4 + "/unloadcollection");
+ server.commit();
+ q = new SolrQuery("*:*");
+ q.set("distrib", false);
+ long found4 = server.query(q).getResults().getNumFound();
+
+ // all 3 shards should now have the same number of docs
+ assertEquals(found1, found3);
+ assertEquals(found3, found4);
+
+ }
+
+ private void testUnloadLotsOfCores() throws Exception {
+ SolrServer client = clients.get(2);
+ String url3 = getBaseUrl(client);
+ final HttpSolrServer server = new HttpSolrServer(url3);
+
+ ThreadPoolExecutor executor = new ThreadPoolExecutor(0, Integer.MAX_VALUE,
+ 5, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
+ new DefaultSolrThreadFactory("testExecutor"));
+ int cnt = atLeast(6);
+ for (int i = 0; i < cnt; i++) {
+ final int freezeI = i;
+ executor.execute(new Runnable() {
+
+ @Override
+ public void run() {
+ Create createCmd = new Create();
+ createCmd.setCoreName("multiunload" + freezeI);
+ createCmd.setCollection("multiunload");
+ String core3dataDir = dataDir.getAbsolutePath() + File.separator
+ + System.currentTimeMillis() + "unloadcollection" + "_3n" + freezeI;
+ createCmd.setDataDir(core3dataDir);
+ try {
+ server.request(createCmd);
+ } catch (SolrServerException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ });
+ }
+ executor.shutdown();
+ executor.awaitTermination(120, TimeUnit.SECONDS);
+ executor = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 5,
+ TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
+ new DefaultSolrThreadFactory("testExecutor"));
+ for (int j = 0; j < cnt; j++) {
+ final int freezeJ = j;
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ Unload unloadCmd = new Unload(true);
+ unloadCmd.setCoreName("multiunload" + freezeJ);
+ try {
+ server.request(unloadCmd);
+ } catch (SolrServerException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ });
+ Thread.sleep(random().nextInt(50));
+ }
+ executor.shutdown();
+ executor.awaitTermination(120, TimeUnit.SECONDS);
+ }
+
+
+ private String getBaseUrl(SolrServer client) {
+ String url2 = ((HttpSolrServer) client).getBaseURL()
+ .substring(
+ 0,
+ ((HttpSolrServer) client).getBaseURL().length()
+ - DEFAULT_COLLECTION.length() -1);
+ return url2;
+ }
+
+
private void testCollectionsAPI() throws Exception {
// TODO: fragile - because we dont pass collection.confName, it will only
@@ -347,32 +621,13 @@ public class BasicDistributedZkTest exte
// create new collections rapid fire
Map<String,List<Integer>> collectionInfos = new HashMap<String,List<Integer>>();
int cnt = atLeast(3);
+
for (int i = 0; i < cnt; i++) {
- ModifiableSolrParams params = new ModifiableSolrParams();
- params.set("action", CollectionAction.CREATE.toString());
- int numShards = _TestUtil.nextInt(random(), 0, shardCount) + 1;
- int numReplicas = _TestUtil.nextInt(random(), 0, 5) + 1;
- params.set("numShards", numShards);
- params.set(OverseerCollectionProcessor.REPLICATION_FACTOR, numReplicas);
- String collectionName = "awholynewcollection_" + i;
- int clientIndex = random().nextInt(2);
- List<Integer> list = new ArrayList<Integer>();
- list.add(numShards);
- list.add(numReplicas);
- collectionInfos.put(collectionName, list);
- params.set("name", collectionName);
- SolrRequest request = new QueryRequest(params);
- request.setPath("/admin/collections");
-
- final String baseUrl = ((HttpSolrServer) clients.get(clientIndex)).getBaseURL().substring(
- 0,
- ((HttpSolrServer) clients.get(clientIndex)).getBaseURL().length()
- - DEFAULT_COLLECTION.length() - 1);
-
- createNewSolrServer("", baseUrl).request(request);
+ createCollection(collectionInfos, i,
+ _TestUtil.nextInt(random(), 0, shardCount) + 1,
+ _TestUtil.nextInt(random(), 0, 5) + 1);
}
-
Set<Entry<String,List<Integer>>> collectionInfosEntrySet = collectionInfos.entrySet();
for (Entry<String,List<Integer>> entry : collectionInfosEntrySet) {
String collection = entry.getKey();
@@ -386,9 +641,9 @@ public class BasicDistributedZkTest exte
// poll for a second - it can take a moment before we are ready to serve
waitForNon403or404or503(collectionClient);
}
-
- for (int i = 0; i < cnt; i++) {
- waitForRecoveriesToFinish("awholynewcollection_" + i, zkStateReader, false);
+ ZkStateReader zkStateReader = solrj.getZkStateReader();
+ for (int j = 0; j < cnt; j++) {
+ waitForRecoveriesToFinish("awholynewcollection_" + j, zkStateReader, false);
}
List<String> collectionNameList = new ArrayList<String>();
@@ -400,7 +655,7 @@ public class BasicDistributedZkTest exte
HttpSolrServer collectionClient = new HttpSolrServer(url);
- // lets try and use the solrj client to index and retrieve a couple documents
+ // lets try and use the solrj client to index a couple documents
SolrInputDocument doc1 = getDoc(id, 6, i1, -600, tlong, 600, t1,
"humpty dumpy sat on a wall");
SolrInputDocument doc2 = getDoc(id, 7, i1, -600, tlong, 600, t1,
@@ -442,6 +697,9 @@ public class BasicDistributedZkTest exte
boolean allTimesAreCorrect = waitForReloads(collectionName, urlToTimeBefore);
assertTrue("some core start times did not change on reload", allTimesAreCorrect);
+
+ waitForRecoveriesToFinish("awholynewcollection_" + (cnt - 1), zkStateReader, false);
+
// remove a collection
params = new ModifiableSolrParams();
params.set("action", CollectionAction.DELETE.toString());
@@ -453,9 +711,37 @@ public class BasicDistributedZkTest exte
// ensure its out of the state
checkForMissingCollection(collectionName);
+
+ //collectionNameList.remove(collectionName);
}
+
+ protected void createCollection(Map<String,List<Integer>> collectionInfos,
+ int i, int numShards, int numReplicas) throws SolrServerException, IOException {
+ ModifiableSolrParams params = new ModifiableSolrParams();
+ params.set("action", CollectionAction.CREATE.toString());
+
+ params.set("numShards", numShards);
+ params.set(OverseerCollectionProcessor.REPLICATION_FACTOR, numReplicas);
+ String collectionName = "awholynewcollection_" + i;
+ int clientIndex = random().nextInt(2);
+ List<Integer> list = new ArrayList<Integer>();
+ list.add(numShards);
+ list.add(numReplicas);
+ collectionInfos.put(collectionName, list);
+ params.set("name", collectionName);
+ SolrRequest request = new QueryRequest(params);
+ request.setPath("/admin/collections");
+
+ final String baseUrl = ((HttpSolrServer) clients.get(clientIndex)).getBaseURL().substring(
+ 0,
+ ((HttpSolrServer) clients.get(clientIndex)).getBaseURL().length()
+ - DEFAULT_COLLECTION.length() - 1);
+
+ createNewSolrServer("", baseUrl).request(request);
+ }
+
private boolean waitForReloads(String collectionName, Map<String,Long> urlToTimeBefore) throws SolrServerException, IOException {
@@ -537,6 +823,15 @@ public class BasicDistributedZkTest exte
throw new RuntimeException("Could not find a live node for collection:" + collection);
}
+
+ private ZkCoreNodeProps getLeaderUrlFromZk(String collection, String slice) {
+ ClusterState clusterState = solrj.getZkStateReader().getClusterState();
+ ZkNodeProps leader = clusterState.getLeader(collection, slice);
+ if (leader == null) {
+ throw new RuntimeException("Could not find leader:" + collection + " " + slice);
+ }
+ return new ZkCoreNodeProps(leader);
+ }
private void waitForNon403or404or503(HttpSolrServer collectionClient)
throws Exception {
@@ -560,7 +855,7 @@ public class BasicDistributedZkTest exte
}
Thread.sleep(50);
}
- printLayout();
+
fail("Could not find the new collection - " + exp.code() + " : " + collectionClient.getBaseURL());
}
@@ -950,21 +1245,30 @@ public class BasicDistributedZkTest exte
indexDoc("collection2", getDoc(id, "10000000"));
indexDoc("collection2", getDoc(id, "10000001"));
- indexDoc("collection2", getDoc(id, "10000003"));
-
+ indexDoc("collection2", getDoc(id, "10000003"));
+ solrj.setDefaultCollection("collection2");
+ solrj.add(getDoc(id, "10000004"));
+ solrj.setDefaultCollection(null);
indexDoc("collection3", getDoc(id, "20000000"));
indexDoc("collection3", getDoc(id, "20000001"));
+ solrj.setDefaultCollection("collection3");
+ solrj.add(getDoc(id, "10000005"));
+ solrj.setDefaultCollection(null);
otherCollectionClients.get("collection2").get(0).commit();
otherCollectionClients.get("collection3").get(0).commit();
+ solrj.setDefaultCollection("collection1");
long collection1Docs = solrj.query(new SolrQuery("*:*")).getResults()
.getNumFound();
+
long collection2Docs = otherCollectionClients.get("collection2").get(0)
.query(new SolrQuery("*:*")).getResults().getNumFound();
+ System.out.println("found2: "+ collection2Docs);
long collection3Docs = otherCollectionClients.get("collection3").get(0)
.query(new SolrQuery("*:*")).getResults().getNumFound();
+ System.out.println("found3: "+ collection3Docs);
SolrQuery query = new SolrQuery("*:*");
query.set("collection", "collection2,collection3");
@@ -991,6 +1295,8 @@ public class BasicDistributedZkTest exte
query.remove("collection");
found = solrj.query(query).getResults().getNumFound();
assertEquals(collection1Docs, found);
+
+ assertEquals(collection3Docs, collection2Docs - 1);
}
protected SolrInputDocument getDoc(Object... fields) throws Exception {
@@ -1099,5 +1405,8 @@ public class BasicDistributedZkTest exte
}
System.clearProperty("numShards");
System.clearProperty("zkHost");
+
+ // insurance
+ DirectUpdateHandler2.commitOnClose = true;
}
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java Mon Oct 29 14:55:01 2012
@@ -29,6 +29,7 @@ import org.apache.solr.client.solrj.impl
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.cloud.ZkStateReader;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -82,7 +83,7 @@ public class ChaosMonkeyNothingIsSafeTes
handle.clear();
handle.put("QTime", SKIPVAL);
handle.put("timestamp", SKIPVAL);
-
+ ZkStateReader zkStateReader = cloudClient.getZkStateReader();
// make sure we have leaders for each shard
for (int j = 1; j < sliceCount; j++) {
zkStateReader.getLeaderProps(DEFAULT_COLLECTION, "shard" + j, 10000);
@@ -189,19 +190,6 @@ public class ChaosMonkeyNothingIsSafeTes
}
}
}
-
- // skip the randoms - they can deadlock...
- protected void indexr(Object... fields) throws Exception {
- SolrInputDocument doc = getDoc(fields);
- indexDoc(doc);
- }
-
- private SolrInputDocument getDoc(Object... fields) {
- SolrInputDocument doc = new SolrInputDocument();
- addFields(doc, fields);
- addFields(doc, "rnd_b", true);
- return doc;
- }
class FullThrottleStopableIndexingThread extends StopableIndexingThread {
private HttpClient httpClient = HttpClientUtil.createClient(null);
@@ -306,4 +294,18 @@ public class ChaosMonkeyNothingIsSafeTes
};
+
+ // skip the randoms - they can deadlock...
+ protected void indexr(Object... fields) throws Exception {
+ SolrInputDocument doc = getDoc(fields);
+ indexDoc(doc);
+ }
+
+ SolrInputDocument getDoc(Object... fields) throws Exception {
+ SolrInputDocument doc = new SolrInputDocument();
+ addFields(doc, fields);
+ addFields(doc, "rnd_b", true);
+ return doc;
+ }
+
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java Mon Oct 29 14:55:01 2012
@@ -131,6 +131,7 @@ public class FullSolrCloudDistribCmdsTes
}
private void testThatCantForwardToLeaderFails() throws Exception {
+ ZkStateReader zkStateReader = cloudClient.getZkStateReader();
ZkNodeProps props = zkStateReader.getLeaderProps(DEFAULT_COLLECTION, "shard1");
chaosMonkey.stopShard("shard1");
@@ -250,7 +251,6 @@ public class FullSolrCloudDistribCmdsTes
private void testOptimisticUpdate(QueryResponse results) throws Exception {
SolrDocument doc = results.getResults().get(0);
- System.out.println("version:" + doc.getFieldValue(VersionInfo.VERSION_FIELD));
Long version = (Long) doc.getFieldValue(VersionInfo.VERSION_FIELD);
Integer theDoc = (Integer) doc.getFieldValue("id");
UpdateRequest uReq = new UpdateRequest();
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java Mon Oct 29 14:55:01 2012
@@ -478,7 +478,7 @@ public class OverseerTest extends SolrTe
}
private void verifyShardLeader(ZkStateReader reader, String collection, String shard, String expectedCore) throws InterruptedException, KeeperException {
- int maxIterations = 100;
+ int maxIterations = 200;
while(maxIterations-->0) {
reader.updateClusterState(true); // poll state
ZkNodeProps props = reader.getClusterState().getLeader(collection, shard);
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java Mon Oct 29 14:55:01 2012
@@ -24,6 +24,7 @@ import org.apache.solr.client.solrj.Solr
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.cloud.ZkStateReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,7 +72,7 @@ public class RecoveryZkTest extends Abst
// make sure replication can start
Thread.sleep(1500);
-
+ ZkStateReader zkStateReader = cloudClient.getZkStateReader();
waitForRecoveriesToFinish(DEFAULT_COLLECTION, zkStateReader, false, true);
// stop indexing threads
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java Mon Oct 29 14:55:01 2012
@@ -47,8 +47,11 @@ import org.junit.BeforeClass;
public class SyncSliceTest extends AbstractFullDistribZkTestBase {
@BeforeClass
- public static void beforeSuperClass() {
-
+ public static void beforeSuperClass() throws Exception {
+ // TODO: we use an fs based dir because something
+ // like a ram dir will not recovery correctly right now
+ // due to tran log persisting across restarts
+ useFactory(null);
}
@AfterClass
@@ -159,7 +162,7 @@ public class SyncSliceTest extends Abstr
// to talk to a downed node causes grief
waitToSeeDownInClusterState(leaderJetty, jetties);
- waitForThingsToLevelOut(15);
+ waitForThingsToLevelOut(45);
checkShardConsistency(false, true);
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ZkSolrClientTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ZkSolrClientTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ZkSolrClientTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/cloud/ZkSolrClientTest.java Mon Oct 29 14:55:01 2012
@@ -19,23 +19,26 @@ package org.apache.solr.cloud;
import java.io.File;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.atomic.AtomicInteger;
import junit.framework.Assert;
-import junit.framework.TestCase;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.core.SolrConfig;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.junit.AfterClass;
+import org.junit.BeforeClass;
public class ZkSolrClientTest extends AbstractSolrTestCase {
private static final boolean DEBUG = false;
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
+ }
+
public void testConnect() throws Exception {
String zkDir = dataDir.getAbsolutePath() + File.separator
+ "zookeeper/server1/data";
@@ -43,7 +46,7 @@ public class ZkSolrClientTest extends Ab
server = new ZkTestServer(zkDir);
server.run();
-
+ AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
SolrZkClient zkClient = new SolrZkClient(server.getZkAddress(), AbstractZkTestCase.TIMEOUT);
zkClient.close();
@@ -57,7 +60,7 @@ public class ZkSolrClientTest extends Ab
server = new ZkTestServer(zkDir);
server.run();
-
+ AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
AbstractZkTestCase.makeSolrZkNode(server.getZkHost());
SolrZkClient zkClient = new SolrZkClient(server.getZkHost(),
@@ -77,7 +80,7 @@ public class ZkSolrClientTest extends Ab
try {
server = new ZkTestServer(zkDir);
server.run();
-
+ AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
AbstractZkTestCase.makeSolrZkNode(server.getZkHost());
zkClient = new SolrZkClient(server.getZkAddress(), AbstractZkTestCase.TIMEOUT);
@@ -170,6 +173,7 @@ public class ZkSolrClientTest extends Ab
final AtomicInteger cnt = new AtomicInteger();
ZkTestServer server = new ZkTestServer(zkDir);
server.run();
+ AbstractZkTestCase.tryCleanSolrZkNode(server.getZkHost());
Thread.sleep(400);
AbstractZkTestCase.makeSolrZkNode(server.getZkHost());
final SolrZkClient zkClient = new SolrZkClient(server.getZkAddress(), AbstractZkTestCase.TIMEOUT);
@@ -234,16 +238,6 @@ public class ZkSolrClientTest extends Ab
}
@Override
- public String getSchemaFile() {
- return null;
- }
-
- @Override
- public String getSolrConfigFile() {
- return null;
- }
-
- @Override
public void tearDown() throws Exception {
super.tearDown();
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java Mon Oct 29 14:55:01 2012
@@ -41,7 +41,7 @@ public class AlternateDirectoryTest exte
assertTrue(TestIndexReaderFactory.newReaderCalled);
}
- static public class TestFSDirectoryFactory extends CachingDirectoryFactory {
+ static public class TestFSDirectoryFactory extends StandardDirectoryFactory {
public static volatile boolean openCalled = false;
public static volatile Directory dir;
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/IndexReaderFactoryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/IndexReaderFactoryTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/IndexReaderFactoryTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/IndexReaderFactoryTest.java Mon Oct 29 14:55:01 2012
@@ -17,17 +17,13 @@ package org.apache.solr.core;
*/
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
public class IndexReaderFactoryTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig-termindex.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-termindex.xml", "schema.xml");
}
/**
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/SolrCoreCheckLockOnStartupTest.java Mon Oct 29 14:55:01 2012
@@ -67,7 +67,7 @@ public class SolrCoreCheckLockOnStartupT
assertNotNull(t.getCause());
assertTrue(t.getCause() instanceof RuntimeException);
assertNotNull(t.getCause().getCause());
- assertTrue(t.getCause().getCause() instanceof LockObtainFailedException);
+ assertTrue(t.getCause().getCause().toString(), t.getCause().getCause() instanceof LockObtainFailedException);
} finally {
indexWriter.close();
directory.close();
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestArbitraryIndexDir.java Mon Oct 29 14:55:01 2012
@@ -85,16 +85,6 @@ public class TestArbitraryIndexDir exten
}
- @Override
- public String getSchemaFile() {
- return null;
- }
-
- @Override
- public String getSolrConfigFile() {
- return null; // prevent superclass from creating it's own TestHarness
- }
-
@Test
public void testLoadNewIndexDir() throws IOException, ParserConfigurationException, SAXException, ParseException {
//add a doc in original index dir
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestJmxIntegration.java Mon Oct 29 14:55:01 2012
@@ -20,6 +20,7 @@ import org.apache.solr.core.JmxMonitored
import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.After;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
@@ -35,14 +36,10 @@ import java.util.*;
*/
public class TestJmxIntegration extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
}
@Override
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestPropInject.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestPropInject.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestPropInject.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestPropInject.java Mon Oct 29 14:55:01 2012
@@ -17,24 +17,19 @@ package org.apache.solr.core;
* limitations under the License.
*/
-import java.io.IOException;
-
import org.apache.lucene.index.ConcurrentMergeScheduler;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.LogByteSizeMergePolicy;
import org.apache.solr.update.DirectUpdateHandler2;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.util.RefCounted;
+import org.junit.BeforeClass;
public class TestPropInject extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema.xml";
- }
- @Override
- public String getSolrConfigFile() {
- return "solrconfig-propinject.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-propinject.xml", "schema.xml");
}
public void testMergePolicy() throws Exception {
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/core/TestXIncludeConfig.java Mon Oct 29 14:55:01 2012
@@ -17,26 +17,19 @@ package org.apache.solr.core;
* limitations under the License.
*/
-import org.apache.solr.update.processor.UpdateRequestProcessorChain;
-import org.apache.solr.update.processor.RegexReplaceProcessorFactory;
-
-import org.apache.solr.util.AbstractSolrTestCase;
-
import javax.xml.parsers.DocumentBuilderFactory;
+import org.apache.solr.update.processor.RegexReplaceProcessorFactory;
+import org.apache.solr.update.processor.UpdateRequestProcessorChain;
+import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.Assume;
+import org.junit.BeforeClass;
public class TestXIncludeConfig extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema-xinclude.xml";
- }
-
- //public String getSolrConfigFile() { return "solrconfig.xml"; }
- @Override
- public String getSolrConfigFile() {
- return "solrconfig-xinclude.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-xinclude.xml", "schema-xinclude.xml");
}
@Override
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/StandardRequestHandlerTest.java Mon Oct 29 14:55:01 2012
@@ -27,15 +27,19 @@ import org.apache.solr.request.LocalSolr
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.QueryParsing;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
/**
* Most of the tests for StandardRequestHandler are in ConvertedLegacyTest
*
*/
public class StandardRequestHandlerTest extends AbstractSolrTestCase {
-
- @Override public String getSchemaFile() { return "schema.xml"; }
- @Override public String getSolrConfigFile() { return "solrconfig.xml"; }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
+ }
+
@Override public void setUp() throws Exception {
super.setUp();
lrf = h.getRequestFactory("standard", 0, 20 );
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java Mon Oct 29 14:55:01 2012
@@ -54,8 +54,8 @@ import org.apache.solr.common.params.Mod
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.util.AbstractSolrTestCase;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.After;
+import org.junit.Before;
/**
* Test for ReplicationHandler
@@ -72,9 +72,9 @@ public class TestReplicationHandler exte
+ File.separator + "collection1" + File.separator + "conf"
+ File.separator;
- static JettySolrRunner masterJetty, slaveJetty;
- static SolrServer masterClient, slaveClient;
- static SolrInstance master = null, slave = null;
+ JettySolrRunner masterJetty, slaveJetty;
+ SolrServer masterClient, slaveClient;
+ SolrInstance master = null, slave = null;
static String context = "/solr";
@@ -83,9 +83,11 @@ public class TestReplicationHandler exte
static int nDocs = 500;
- @BeforeClass
- public static void beforeClass() throws Exception {
- useFactory(null); // need an FS factory
+ @Before
+ public void setup() throws Exception {
+ super.setUp();
+ // For manual testing only
+ // useFactory(null); // force an FS factory
master = new SolrInstance("master", null);
master.setUp();
masterJetty = createJetty(master);
@@ -109,8 +111,9 @@ public class TestReplicationHandler exte
}
}
- @AfterClass
- public static void afterClass() throws Exception {
+ @After
+ public void tearDown() throws Exception {
+ super.tearDown();
masterJetty.stop();
slaveJetty.stop();
master.tearDown();
@@ -415,7 +418,7 @@ public class TestReplicationHandler exte
// setup an xslt dir to force subdir file replication
File masterXsltDir = new File(master.getConfDir() + File.separator + "xslt");
File masterXsl = new File(masterXsltDir, "dummy.xsl");
- assertTrue(masterXsltDir.mkdir());
+ assertTrue("could not make dir " + masterXsltDir, masterXsltDir.mkdirs());
assertTrue(masterXsl.createNewFile());
File slaveXsltDir = new File(slave.getConfDir() + File.separator + "xslt");
@@ -522,6 +525,17 @@ public class TestReplicationHandler exte
for (int i = 0; i < nDocs; i++)
index(masterClient, "id", i, "name", "name = " + i);
+ // make sure prepareCommit doesn't mess up commit (SOLR-3938)
+ // todo: make SolrJ easier to pass arbitrary params to
+ String masterUrl = "http://127.0.0.1:" + masterJetty.getLocalPort() + "/solr/update?prepareCommit=true";
+ URL url = new URL(masterUrl);
+ InputStream stream = url.openStream();
+ try {
+ stream.close();
+ } catch (IOException e) {
+ //e.printStackTrace();
+ }
+
masterClient.commit();
NamedList masterQueryRsp = rQuery(nDocs, "*:*", masterClient);
@@ -529,10 +543,10 @@ public class TestReplicationHandler exte
assertEquals(nDocs, masterQueryResult.getNumFound());
// snappull
- String masterUrl = "http://127.0.0.1:" + slaveJetty.getLocalPort() + "/solr/replication?command=fetchindex&masterUrl=";
+ masterUrl = "http://127.0.0.1:" + slaveJetty.getLocalPort() + "/solr/replication?command=fetchindex&masterUrl=";
masterUrl += "http://127.0.0.1:" + masterJetty.getLocalPort() + "/solr/replication";
- URL url = new URL(masterUrl);
- InputStream stream = url.openStream();
+ url = new URL(masterUrl);
+ stream = url.openStream();
try {
stream.close();
} catch (IOException e) {
@@ -585,14 +599,10 @@ public class TestReplicationHandler exte
nDocs--;
masterClient.deleteByQuery("*:*");
- for (int i = 0; i < nDocs; i++)
- index(masterClient, "id", i, "name", "name = " + i);
masterClient.commit();
- NamedList masterQueryRsp = rQuery(nDocs, "*:*", masterClient);
- SolrDocumentList masterQueryResult = (SolrDocumentList) masterQueryRsp.get("response");
- assertEquals(nDocs, masterQueryResult.getNumFound());
+
//change solrconfig having 'replicateAfter startup' option on master
master.copyConfigFile(CONF_DIR + "solrconfig-master2.xml",
@@ -602,6 +612,16 @@ public class TestReplicationHandler exte
masterJetty = createJetty(master);
masterClient = createNewSolrServer(masterJetty.getLocalPort());
+
+ for (int i = 0; i < nDocs; i++)
+ index(masterClient, "id", i, "name", "name = " + i);
+
+ masterClient.commit();
+
+ NamedList masterQueryRsp = rQuery(nDocs, "*:*", masterClient);
+ SolrDocumentList masterQueryResult = (SolrDocumentList) masterQueryRsp.get("response");
+ assertEquals(nDocs, masterQueryResult.getNumFound());
+
slave.setTestPort(masterJetty.getLocalPort());
slave.copyConfigFile(slave.getSolrConfigFile(), "solrconfig.xml");
@@ -639,15 +659,6 @@ public class TestReplicationHandler exte
//stop slave
slaveJetty.stop();
- masterClient.deleteByQuery("*:*");
- for (int i = 0; i < 10; i++)
- index(masterClient, "id", i, "name", "name = " + i);
-
- masterClient.commit();
-
- NamedList masterQueryRsp = rQuery(10, "*:*", masterClient);
- SolrDocumentList masterQueryResult = (SolrDocumentList) masterQueryRsp.get("response");
- assertEquals(10, masterQueryResult.getNumFound());
//change solrconfig having 'replicateAfter startup' option on master
master.copyConfigFile(CONF_DIR + "solrconfig-master3.xml",
@@ -658,6 +669,16 @@ public class TestReplicationHandler exte
masterJetty = createJetty(master);
masterClient = createNewSolrServer(masterJetty.getLocalPort());
+ masterClient.deleteByQuery("*:*");
+ for (int i = 0; i < 10; i++)
+ index(masterClient, "id", i, "name", "name = " + i);
+
+ masterClient.commit();
+
+ NamedList masterQueryRsp = rQuery(10, "*:*", masterClient);
+ SolrDocumentList masterQueryResult = (SolrDocumentList) masterQueryRsp.get("response");
+ assertEquals(10, masterQueryResult.getNumFound());
+
slave.setTestPort(masterJetty.getLocalPort());
slave.copyConfigFile(slave.getSolrConfigFile(), "solrconfig.xml");
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/admin/LukeRequestHandlerTest.java Mon Oct 29 14:55:01 2012
@@ -17,28 +17,24 @@
package org.apache.solr.handler.admin;
+import java.util.Arrays;
+import java.util.EnumSet;
+
import org.apache.solr.common.luke.FieldFlag;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.util.AbstractSolrTestCase;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
-import java.util.EnumSet;
-import java.util.Arrays;
-
/**
* :TODO: currently only tests some of the utilities in the LukeRequestHandler
*/
public class LukeRequestHandlerTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema12.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema12.xml");
}
@Before
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/handler/component/StatsComponentTest.java Mon Oct 29 14:55:01 2012
@@ -16,25 +16,23 @@ package org.apache.solr.handler.componen
* limitations under the License.
*/
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
-import java.util.HashMap;
import java.util.TimeZone;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.StatsParams;
-
-import org.apache.solr.schema.IndexSchema;
-import org.apache.solr.schema.SchemaField;
-
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.schema.SchemaField;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
/**
@@ -42,19 +40,15 @@ import org.apache.solr.util.AbstractSolr
*/
public class StatsComponentTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema11.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema11.xml");
}
@Override
public void setUp() throws Exception {
super.setUp();
+ clearIndex();
lrf = h.getRequestFactory("standard", 0, 20);
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/highlight/HighlighterConfigTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/highlight/HighlighterConfigTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/highlight/HighlighterConfigTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/highlight/HighlighterConfigTest.java Mon Oct 29 14:55:01 2012
@@ -16,16 +16,19 @@
*/
package org.apache.solr.highlight;
+import java.util.HashMap;
+
import org.apache.solr.handler.component.HighlightComponent;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.util.TestHarness;
-
-import java.util.HashMap;
+import org.junit.BeforeClass;
public class HighlighterConfigTest extends AbstractSolrTestCase {
- @Override public String getSchemaFile() { return "schema.xml"; }
- // the default case (i.e. <highlight> without a class attribute) is tested every time sorlconfig.xml is used
- @Override public String getSolrConfigFile() { return "solrconfig-highlight.xml"; }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-highlight.xml", "schema.xml");
+ }
@Override
public void setUp() throws Exception {
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestBinaryResponseWriter.java Mon Oct 29 14:55:01 2012
@@ -16,22 +16,22 @@
*/
package org.apache.solr.request;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.Locale;
+import java.util.UUID;
+
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.JavaBinCodec;
+import org.apache.solr.common.util.NamedList;
import org.apache.solr.response.BinaryQueryResponseWriter;
import org.apache.solr.response.BinaryResponseWriter.Resolver;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.search.ReturnFields;
-
import org.apache.solr.util.AbstractSolrTestCase;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.Locale;
-import java.util.UUID;
+import org.junit.BeforeClass;
/**
* Test for BinaryResponseWriter
@@ -41,14 +41,10 @@ import java.util.UUID;
*/
public class TestBinaryResponseWriter extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema12.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema12.xml");
}
/**
@@ -96,7 +92,7 @@ public class TestBinaryResponseWriter ex
assertTrue("ddd_s not found", out.getFieldNames().contains("ddd_s"));
assertEquals("Wrong number of fields found",
2, out.getFieldNames().size());
-
+ req.close();
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java Mon Oct 29 14:55:01 2012
@@ -17,30 +17,34 @@
package org.apache.solr.request;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+
+import org.apache.solr.client.solrj.ResponseParser;
+import org.apache.solr.client.solrj.impl.BinaryResponseParser;
+import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.response.BinaryQueryResponseWriter;
import org.apache.solr.response.QueryResponseWriter;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.util.AbstractSolrTestCase;
-import org.apache.solr.client.solrj.ResponseParser;
-import org.apache.solr.client.solrj.impl.BinaryResponseParser;
-import org.apache.solr.client.solrj.impl.XMLResponseParser;
-
+import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.io.*;
-
public class TestWriterPerf extends AbstractSolrTestCase {
public static final Logger log
= LoggerFactory.getLogger(TestWriterPerf.class);
- @Override
- public String getSchemaFile() { return "schema11.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig-functionquery.xml"; }
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig-functionquery.xml", "schema11.xml");
+ }
+
public String getCoreName() { return "basic"; }
@Override
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java Mon Oct 29 14:55:01 2012
@@ -19,13 +19,16 @@ package org.apache.solr.search;
import org.apache.solr.common.SolrException;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
import org.junit.Test;
public class TestExtendedDismaxParser extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schema12.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema12.xml");
+ }
+
// public String getCoreName() { return "collection1"; }
@Override
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java Mon Oct 29 14:55:01 2012
@@ -18,13 +18,15 @@ package org.apache.solr.search;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
public class TestQueryTypes extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schema11.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema11.xml");
+ }
+
public String getCoreName() { return "basic"; }
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestQueryUtils.java Mon Oct 29 14:55:01 2012
@@ -22,7 +22,9 @@ import org.apache.lucene.search.BooleanQ
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Query;
import org.apache.lucene.index.Term;
+import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
import java.util.List;
@@ -31,10 +33,11 @@ import java.util.List;
*/
public class TestQueryUtils extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schema.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
+ }
+
@Override
public void setUp() throws Exception {
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSearchPerf.java Mon Oct 29 14:55:01 2012
@@ -19,6 +19,7 @@ package org.apache.solr.search;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.*;
+import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
@@ -26,6 +27,7 @@ import org.apache.solr.update.processor.
import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.AddUpdateCommand;
import org.apache.solr.common.SolrInputDocument;
+import org.junit.BeforeClass;
import java.util.*;
import java.io.IOException;
@@ -35,10 +37,12 @@ import java.io.IOException;
*/
public class TestSearchPerf extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schema11.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema11.xml");
+ }
+
@Override
public void setUp() throws Exception {
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSurroundQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSurroundQueryParser.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSurroundQueryParser.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/TestSurroundQueryParser.java Mon Oct 29 14:55:01 2012
@@ -19,13 +19,14 @@ package org.apache.solr.search;
*/
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
public class TestSurroundQueryParser extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schemasurround.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schemasurround.xml");
+ }
// public String getCoreName() { return "collection1"; }
@Override
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/function/SortByFunctionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/function/SortByFunctionTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/function/SortByFunctionTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/search/function/SortByFunctionTest.java Mon Oct 29 14:55:01 2012
@@ -17,6 +17,7 @@ package org.apache.solr.search.function;
*/
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
/**
@@ -24,14 +25,18 @@ import org.apache.solr.util.AbstractSolr
*
**/
public class SortByFunctionTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema.xml";
+
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
}
+
@Override
- public String getSolrConfigFile() {
- return "solrconfig.xml";
+ public void setUp() throws Exception {
+ super.setUp();
+
}
public void test() throws Exception {
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/servlet/DirectSolrConnectionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/servlet/DirectSolrConnectionTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/servlet/DirectSolrConnectionTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/servlet/DirectSolrConnectionTest.java Mon Oct 29 14:55:01 2012
@@ -19,15 +19,19 @@ package org.apache.solr.servlet;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.util.AbstractSolrTestCase;
+import org.junit.BeforeClass;
public class DirectSolrConnectionTest extends AbstractSolrTestCase
{
- @Override
- public String getSchemaFile() { return "solr/crazy-path-to-schema.xml"; }
- @Override
- public String getSolrConfigFile() { return "solr/crazy-path-to-config.xml"; }
+
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solr/crazy-path-to-config.xml", "solr/crazy-path-to-schema.xml");
+ }
+
DirectSolrConnection direct;
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/AutoCommitTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/AutoCommitTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/AutoCommitTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/AutoCommitTest.java Mon Oct 29 14:55:01 2012
@@ -34,6 +34,7 @@ import org.apache.solr.response.SolrQuer
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.AbstractSolrTestCase;
import org.apache.solr.util.RefCounted;
+import org.junit.BeforeClass;
class NewSearcherListener implements SolrEventListener {
@@ -108,10 +109,10 @@ class NewSearcherListener implements Sol
@Slow
public class AutoCommitTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() { return "schema.xml"; }
- @Override
- public String getSolrConfigFile() { return "solrconfig.xml"; }
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema.xml");
+ }
public static void verbose(Object... args) {
if (!VERBOSE) return;
@@ -125,6 +126,14 @@ public class AutoCommitTest extends Abst
log.info(sb.toString());
// System.out.println(sb.toString());
}
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ clearIndex();
+ // reload the core to clear stats
+ h.getCoreContainer().reload(h.getCore().getName());
+ }
/**
* Take a string and make it an iterable ContentStream
@@ -141,8 +150,8 @@ public class AutoCommitTest extends Abst
}
public void testMaxDocs() throws Exception {
-
SolrCore core = h.getCore();
+
NewSearcherListener trigger = new NewSearcherListener();
DirectUpdateHandler2 updateHandler = (DirectUpdateHandler2)core.getUpdateHandler();
@@ -190,6 +199,7 @@ public class AutoCommitTest extends Abst
public void testMaxTime() throws Exception {
SolrCore core = h.getCore();
+
NewSearcherListener trigger = new NewSearcherListener();
core.registerNewSearcherListener(trigger);
DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
@@ -263,6 +273,7 @@ public class AutoCommitTest extends Abst
public void testCommitWithin() throws Exception {
SolrCore core = h.getCore();
+
NewSearcherListener trigger = new NewSearcherListener();
core.registerNewSearcherListener(trigger);
DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerOptimizeTest.java Mon Oct 29 14:55:01 2012
@@ -16,15 +16,15 @@ package org.apache.solr.update;
* limitations under the License.
*/
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import java.io.File;
+import java.io.FileFilter;
+
+import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.util.AbstractSolrTestCase;
-
-import java.io.File;
-import java.io.FileFilter;
+import org.junit.BeforeClass;
/**
@@ -33,15 +33,9 @@ import java.io.FileFilter;
**/
public class DirectUpdateHandlerOptimizeTest extends AbstractSolrTestCase {
- @Override
- public String getSchemaFile() {
- return "schema12.xml";
- }
-
- @Override
- public String getSolrConfigFile() {
- // return "solrconfig-duh-optimize.xml";
- return "solrconfig.xml";
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ initCore("solrconfig.xml", "schema12.xml");
}
Modified: lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java?rev=1403336&r1=1403335&r2=1403336&view=diff
==============================================================================
--- lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java (original)
+++ lucene/dev/branches/lucene3846/solr/core/src/test/org/apache/solr/update/DirectUpdateHandlerTest.java Mon Oct 29 14:55:01 2012
@@ -40,7 +40,6 @@ import org.junit.Test;
*/
public class DirectUpdateHandlerTest extends SolrTestCaseJ4 {
- // TODO: fix this test to not require FSDirectory
static String savedFactory;
@BeforeClass
public static void beforeClass() throws Exception {