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 2012/02/21 00:58:50 UTC
svn commit: r1291530 - in /lucene/dev/trunk/solr/core/src:
java/org/apache/solr/cloud/ java/org/apache/solr/core/
java/org/apache/solr/handler/admin/ java/org/apache/solr/handler/component/
java/org/apache/solr/update/ test/org/apache/solr/cloud/
Author: markrmiller
Date: Mon Feb 20 23:58:49 2012
New Revision: 1291530
URL: http://svn.apache.org/viewvc?rev=1291530&view=rev
Log:
SOLR-3126: harden peer sync recovery
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java Mon Feb 20 23:58:49 2012
@@ -103,9 +103,6 @@ public class RecoveryStrategy extends Th
private void replicate(String nodeName, SolrCore core, ZkNodeProps leaderprops, String baseUrl)
throws SolrServerException, IOException {
- // start buffer updates to tran log
- // and do recovery - either replay via realtime get (eventually)
- // or full index replication
String leaderBaseUrl = leaderprops.get(ZkStateReader.BASE_URL_PROP);
ZkCoreNodeProps leaderCNodeProps = new ZkCoreNodeProps(leaderprops);
@@ -183,7 +180,7 @@ public class RecoveryStrategy extends Th
prepCmd.setCoreNodeName(coreZkNodeName);
prepCmd.setState(ZkStateReader.RECOVERING);
prepCmd.setCheckLive(true);
- prepCmd.setPauseFor(4000);
+ prepCmd.setPauseFor(6000);
server.request(prepCmd);
server.shutdown();
@@ -239,26 +236,28 @@ public class RecoveryStrategy extends Th
while (!succesfulRecovery && !close && !isInterrupted()) { // don't use interruption or it will close channels though
try {
-
+ // first thing we just try to sync
zkController.publish(core.getCoreDescriptor(), ZkStateReader.RECOVERING);
-
+
CloudDescriptor cloudDesc = core.getCoreDescriptor()
.getCloudDescriptor();
ZkNodeProps leaderprops = zkStateReader.getLeaderProps(
cloudDesc.getCollectionName(), cloudDesc.getShardId());
-
+
String leaderBaseUrl = leaderprops.get(ZkStateReader.BASE_URL_PROP);
String leaderCoreName = leaderprops.get(ZkStateReader.CORE_NAME_PROP);
-
- String leaderUrl = ZkCoreNodeProps.getCoreUrl(leaderBaseUrl, leaderCoreName);
-
+
+ String leaderUrl = ZkCoreNodeProps.getCoreUrl(leaderBaseUrl, leaderCoreName);
+
sendPrepRecoveryCmd(leaderBaseUrl, leaderCoreName);
-
-
+
+
// first thing we just try to sync
if (firstTime) {
- firstTime = false; // only try sync the first time through the loop
- log.info("Attempting to PeerSync from " + leaderUrl + " recoveringAfterStartup="+recoveringAfterStartup);
+ firstTime = false; // only try sync the first time through the loop
+ log.info("Attempting to PeerSync from " + leaderUrl);
+ // System.out.println("Attempting to PeerSync from " + leaderUrl
+ // + " i am:" + zkController.getNodeName());
PeerSync peerSync = new PeerSync(core,
Collections.singletonList(leaderUrl), ulog.numRecordsToKeep);
peerSync.setStartingVersions(startingRecentVersions);
@@ -268,6 +267,26 @@ public class RecoveryStrategy extends Th
new ModifiableSolrParams());
core.getUpdateHandler().commit(new CommitUpdateCommand(req, false));
log.info("Sync Recovery was succesful - registering as Active");
+ // System.out
+ // .println("Sync Recovery was succesful - registering as Active "
+ // + zkController.getNodeName());
+
+ // solrcloud_debug
+ // try {
+ // RefCounted<SolrIndexSearcher> searchHolder =
+ // core.getNewestSearcher(false);
+ // SolrIndexSearcher searcher = searchHolder.get();
+ // try {
+ // System.out.println(core.getCoreDescriptor().getCoreContainer().getZkController().getNodeName()
+ // + " synched "
+ // + searcher.search(new MatchAllDocsQuery(), 1).totalHits);
+ // } finally {
+ // searchHolder.decref();
+ // }
+ // } catch (Exception e) {
+ //
+ // }
+
// sync success - register as active and return
zkController.publishAsActive(baseUrl, core.getCoreDescriptor(),
coreZkNodeName, coreName);
@@ -275,10 +294,11 @@ public class RecoveryStrategy extends Th
close = true;
return;
}
-
+
log.info("Sync Recovery was not successful - trying replication");
}
-
+ //System.out.println("Sync Recovery was not successful - trying replication");
+
log.info("Begin buffering updates");
ulog.bufferUpdates();
replayed = false;
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java Mon Feb 20 23:58:49 2012
@@ -193,7 +193,7 @@ public final class ZkController {
+ descriptor.getName();
publishAsDown(getBaseUrl(), descriptor, coreZkNodeName,
descriptor.getName());
- waitForLeaderToSeeDownState(descriptor, coreZkNodeName);
+ waitForLeaderToSeeDownState(descriptor, coreZkNodeName, true);
}
}
@@ -958,7 +958,7 @@ public final class ZkController {
uploadToZK(zkClient, dir, ZkController.CONFIGS_ZKNODE + "/" + configName);
}
- public void preRegisterSetup(SolrCore core, CoreDescriptor cd) {
+ public void preRegisterSetup(SolrCore core, CoreDescriptor cd, boolean waitForNotLive) {
// before becoming available, make sure we are not live and active
// this also gets us our assigned shard id if it was not specified
publish(cd, ZkStateReader.DOWN);
@@ -989,12 +989,12 @@ public final class ZkController {
}
- waitForLeaderToSeeDownState(cd, coreZkNodeName);
+ waitForLeaderToSeeDownState(cd, coreZkNodeName, waitForNotLive);
}
private ZkCoreNodeProps waitForLeaderToSeeDownState(
- CoreDescriptor descriptor, final String shardZkNodeName) {
+ CoreDescriptor descriptor, final String shardZkNodeName, boolean waitForNotLive) {
CloudDescriptor cloudDesc = descriptor.getCloudDescriptor();
String collection = cloudDesc.getCollectionName();
String shard = cloudDesc.getShardId();
@@ -1034,7 +1034,11 @@ public final class ZkController {
prepCmd.setNodeName(getNodeName());
prepCmd.setCoreNodeName(shardZkNodeName);
prepCmd.setState(ZkStateReader.DOWN);
- prepCmd.setCheckLive(false);
+ prepCmd.setPauseFor(6000);
+ if (waitForNotLive){
+ prepCmd.setCheckLive(false);
+ }
+
try {
server.request(prepCmd);
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/CoreContainer.java Mon Feb 20 23:58:49 2012
@@ -540,7 +540,7 @@ public class CoreContainer
if (zkController != null) {
// this happens before we can receive requests
- zkController.preRegisterSetup(core, core.getCoreDescriptor());
+ zkController.preRegisterSetup(core, core.getCoreDescriptor(), false);
}
SolrCore old = null;
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Mon Feb 20 23:58:49 2012
@@ -56,9 +56,7 @@ import org.apache.solr.request.LocalSolr
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.search.SolrIndexSearcher;
-import org.apache.solr.update.CommitUpdateCommand;
import org.apache.solr.update.MergeIndexesCommand;
-import org.apache.solr.update.processor.DistributedUpdateProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessor;
import org.apache.solr.update.processor.UpdateRequestProcessorChain;
import org.apache.solr.util.NumberUtils;
@@ -626,7 +624,7 @@ public class CoreAdminHandler extends Re
String nodeName = params.get("nodeName");
String coreNodeName = params.get("coreNodeName");
String waitForState = params.get("state");
- boolean checkLive = params.getBool("checkLive", true);
+ Boolean checkLive = params.getBool("checkLive");
int pauseFor = params.getInt("pauseFor", 0);
SolrCore core = null;
@@ -636,6 +634,7 @@ public class CoreAdminHandler extends Re
throw new SolrException(ErrorCode.BAD_REQUEST, "core not found:" + cname);
}
String state = null;
+ boolean live = false;
int retry = 0;
while (true) {
// wait until we are sure the recovering node is ready
@@ -649,15 +648,16 @@ public class CoreAdminHandler extends Re
ZkNodeProps nodeProps =
cloudState.getSlice(collection,
cloudDescriptor.getShardId()).getShards().get(coreNodeName);
- boolean live = false;
+
if (nodeProps != null) {
-
state = nodeProps.get(ZkStateReader.STATE_PROP);
live = cloudState.liveNodesContain(nodeName);
if (nodeProps != null && state.equals(waitForState)) {
- if (checkLive && live) {
+ if (checkLive == null) {
+ break;
+ } else if (checkLive && live) {
break;
- } else {
+ } else if (!checkLive && !live) {
break;
}
}
@@ -675,11 +675,15 @@ public class CoreAdminHandler extends Re
// small safety net for any updates that started with state that
// kept it from sending the update to be buffered -
// pause for a while to let any outstanding updates finish
-
+ //System.out.println("I saw state:" + state + " sleep for " + pauseFor + " live:" + live);
Thread.sleep(pauseFor);
// solrcloud_debug
-// try {
+// try {;
+// LocalSolrQueryRequest r = new LocalSolrQueryRequest(core, new ModifiableSolrParams());
+// CommitUpdateCommand commitCmd = new CommitUpdateCommand(r, false);
+// commitCmd.softCommit = true;
+// core.getUpdateHandler().commit(commitCmd);
// RefCounted<SolrIndexSearcher> searchHolder = core.getNewestSearcher(false);
// SolrIndexSearcher searcher = searchHolder.get();
// try {
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java Mon Feb 20 23:58:49 2012
@@ -16,6 +16,7 @@ package org.apache.solr.handler.componen
* limitations under the License.
*/
+import org.apache.commons.httpclient.HttpClient;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.SolrServer;
@@ -50,10 +51,12 @@ public class HttpShardHandler extends Sh
private CompletionService<ShardResponse> completionService;
private Set<Future<ShardResponse>> pending;
private Map<String,List<String>> shardToURLs;
+ private HttpClient httpClient;
- public HttpShardHandler(HttpShardHandlerFactory httpShardHandlerFactory) {
+ public HttpShardHandler(HttpShardHandlerFactory httpShardHandlerFactory, HttpClient httpClient) {
+ this.httpClient = httpClient;
this.httpShardHandlerFactory = httpShardHandlerFactory;
completionService = new ExecutorCompletionService<ShardResponse>(httpShardHandlerFactory.commExecutor);
pending = new HashSet<Future<ShardResponse>>();
@@ -148,7 +151,7 @@ public class HttpShardHandler extends Sh
if (urls.size() <= 1) {
String url = urls.get(0);
srsp.setShardAddress(url);
- SolrServer server = new CommonsHttpSolrServer(url, httpShardHandlerFactory.client);
+ SolrServer server = new CommonsHttpSolrServer(url, httpClient == null ? httpShardHandlerFactory.client : httpClient);
ssr.nl = server.request(req);
} else {
LBHttpSolrServer.Rsp rsp = httpShardHandlerFactory.loadbalancer.request(new LBHttpSolrServer.Req(req, urls));
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java Mon Feb 20 23:58:49 2012
@@ -60,7 +60,7 @@ public class HttpShardHandlerFactory ext
LBHttpSolrServer loadbalancer;
int soTimeout = 0; //current default values
int connectionTimeout = 0; //current default values
- public String scheme = "http://"; //current default values
+ public String scheme = "http://"; //current default values
private MultiThreadedHttpConnectionManager mgr;
// socket timeout measured in ms, closes a socket if read
@@ -79,7 +79,12 @@ public class HttpShardHandlerFactory ext
public ShardHandler getShardHandler(){
- return new HttpShardHandler(this);
+ return getShardHandler(null);
+ }
+
+
+ public ShardHandler getShardHandler(HttpClient httpClient){
+ return new HttpShardHandler(this, httpClient);
}
public void init(PluginInfo info) {
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/update/PeerSync.java Mon Feb 20 23:58:49 2012
@@ -26,18 +26,21 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.commons.httpclient.NoHttpResponseException;
+import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.lucene.util.BytesRef;
import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.cloud.CloudDescriptor;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.component.HttpShardHandlerFactory;
import org.apache.solr.handler.component.ShardHandler;
import org.apache.solr.handler.component.ShardHandlerFactory;
import org.apache.solr.handler.component.ShardRequest;
@@ -63,7 +66,7 @@ public class PeerSync {
private UpdateHandler uhandler;
private UpdateLog ulog;
- private ShardHandlerFactory shardHandlerFactory;
+ private HttpShardHandlerFactory shardHandlerFactory;
private ShardHandler shardHandler;
private UpdateLog.RecentUpdates recentUpdates;
@@ -74,6 +77,18 @@ public class PeerSync {
private Set<Long> requestedUpdateSet;
private long ourLowThreshold; // 20th percentile
private long ourHighThreshold; // 80th percentile
+ private static MultiThreadedHttpConnectionManager mgr = new MultiThreadedHttpConnectionManager();
+ private static HttpClient client = new HttpClient(mgr);
+ static {
+ mgr.getParams().setDefaultMaxConnectionsPerHost(20);
+ mgr.getParams().setMaxTotalConnections(10000);
+ mgr.getParams().setConnectionTimeout(30000);
+ mgr.getParams().setSoTimeout(30000);
+
+ // prevent retries (note: this didn't work when set on mgr.. needed to be set on client)
+ DefaultHttpMethodRetryHandler retryhandler = new DefaultHttpMethodRetryHandler(0, false);
+ client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryhandler);
+ }
// comparator that sorts by absolute value, putting highest first
private static Comparator<Long> absComparator = new Comparator<Long>() {
@@ -125,10 +140,13 @@ public class PeerSync {
this.nUpdates = nUpdates;
this.maxUpdates = nUpdates;
+
+
uhandler = core.getUpdateHandler();
ulog = uhandler.getUpdateLog();
- shardHandlerFactory = core.getCoreDescriptor().getCoreContainer().getShardHandlerFactory();
- shardHandler = shardHandlerFactory.getShardHandler();
+ // TODO: shutdown
+ shardHandlerFactory = new HttpShardHandlerFactory();
+ shardHandler = shardHandlerFactory.getShardHandler(client);
}
/** optional list of updates we had before possibly receiving new updates */
@@ -518,8 +536,6 @@ public class PeerSync {
/** Requests and applies recent updates from peers */
public static void sync(SolrCore core, List<String> replicas, int nUpdates) {
- UpdateHandler uhandler = core.getUpdateHandler();
-
ShardHandlerFactory shardHandlerFactory = core.getCoreDescriptor().getCoreContainer().getShardHandlerFactory();
ShardHandler shardHandler = shardHandlerFactory.getShardHandler();
@@ -538,7 +554,6 @@ public class PeerSync {
ShardResponse srsp = shardHandler.takeCompletedOrError();
}
-
}
}
\ No newline at end of file
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeySafeLeaderTest.java Mon Feb 20 23:58:49 2012
@@ -32,7 +32,7 @@ import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
-@Ignore("Fixme! I am so tired of failing all the time. This is cruelty to animals! :(")
+@Ignore("SOLR-3126")
public class ChaosMonkeySafeLeaderTest extends FullSolrCloudTest {
@BeforeClass
@@ -113,7 +113,7 @@ public class ChaosMonkeySafeLeaderTest e
waitForThingsToLevelOut();
- checkShardConsistency(true, false);
+ checkShardConsistency(true, true);
if (VERBOSE) System.out.println("control docs:" + controlClient.query(new SolrQuery("*:*")).getResults().getNumFound() + "\n\n");
}
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java Mon Feb 20 23:58:49 2012
@@ -1292,7 +1292,7 @@ public class FullSolrCloudTest extends A
+ DEFAULT_COLLECTION;
CommonsHttpSolrServer s = new CommonsHttpSolrServer(url);
s.setConnectionTimeout(100); // 1/10th sec
- s.setSoTimeout(30000);
+ s.setSoTimeout(15000);
s.setDefaultMaxConnectionsPerHost(100);
s.setMaxTotalConnections(100);
return s;
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java Mon Feb 20 23:58:49 2012
@@ -151,7 +151,7 @@ public class OverseerTest extends SolrTe
collection1Desc.setCollectionName("collection1");
CoreDescriptor desc1 = new CoreDescriptor(null, "core" + (i + 1), "");
desc1.setCloudDescriptor(collection1Desc);
- zkController.preRegisterSetup(null, desc1);
+ zkController.preRegisterSetup(null, desc1, false);
ids[i] = zkController.register("core" + (i + 1), desc1);
}
@@ -248,7 +248,7 @@ public class OverseerTest extends SolrTe
final CoreDescriptor desc = new CoreDescriptor(null, coreName, "");
desc.setCloudDescriptor(collection1Desc);
try {
- controllers[slot % nodeCount].preRegisterSetup(null, desc);
+ controllers[slot % nodeCount].preRegisterSetup(null, desc, false);
ids[slot] = controllers[slot % nodeCount]
.register(coreName, desc);
} catch (Throwable e) {
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java?rev=1291530&r1=1291529&r2=1291530&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/ZkTestServer.java Mon Feb 20 23:58:49 2012
@@ -235,7 +235,7 @@ public class ZkTestServer {
} catch(IllegalStateException e) {
}
- if (cnt == 100) {
+ if (cnt == 500) {
throw new RuntimeException("Could not get the port for ZooKeeper server");
}
cnt++;