tests: force FS in the test method rather than for all replication test methods

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1498704 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yonik Seeley 2013-07-01 21:33:19 +00:00
parent 760c534baf
commit 65d565b188
1 changed files with 25 additions and 6 deletions

View File

@ -103,7 +103,7 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
super.setUp(); super.setUp();
// System.setProperty("solr.directoryFactory", "solr.StandardDirectoryFactory"); // System.setProperty("solr.directoryFactory", "solr.StandardDirectoryFactory");
// For manual testing only // For manual testing only
useFactory(null); // force an FS factory. currently MockDirectoryFactory causes SolrCore.initIndex to detect no index and create a new one. // useFactory(null); // force an FS factory.
master = new SolrInstance("master", null); master = new SolrInstance("master", null);
master.setUp(); master.setUp();
masterJetty = createJetty(master); masterJetty = createJetty(master);
@ -344,14 +344,33 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
* Verify that things still work if an IW has not been opened (and hence the CommitPoints have not been communicated to the deletion policy) * Verify that things still work if an IW has not been opened (and hence the CommitPoints have not been communicated to the deletion policy)
*/ */
public void testNoWriter() throws Exception { public void testNoWriter() throws Exception {
useFactory(null); // force a persistent directory
// stop and start so they see the new directory setting
slaveJetty.stop();
masterJetty.stop();
slaveJetty.start(true);
masterJetty.start(true);
index(slaveClient, "id", "123456"); index(slaveClient, "id", "123456");
slaveClient.commit(); slaveClient.commit();
slaveJetty.stop(); slaveJetty.stop();
// System.err.println("############ starting jetty"); slaveJetty.start(true);
slaveJetty = createJetty(slave);
// System.err.println("############ done starting jetty"); // Currently we open a writer on-demand. This is to test that we are correctly testing
slaveClient = createNewSolrServer(slaveJetty.getLocalPort()); // the code path when SolrDeletionPolicy.getLatestCommit() returns null.
pullFromMasterToSlave(); // When we are using an ephemeral directory, an IW will always be opened to create the index and hence
// getLatestCommit will always be non-null.
CoreContainer cores = ((SolrDispatchFilter) slaveJetty.getDispatchFilter().getFilter()).getCores();
Collection<SolrCore> theCores = cores.getCores();
assertEquals(1, theCores.size());
SolrCore core = (SolrCore)theCores.toArray()[0];
assertNull( core.getDeletionPolicy().getLatestCommit() );
pullFromMasterToSlave(); // this will cause SnapPuller to be invoked and we will test when SolrDeletionPolicy.getLatestCommit() returns null
resetFactory();
} }
/** /**