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/01/17 00:02:14 UTC
svn commit: r1232216 - in
/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud:
ChaosMonkey.java ChaosMonkeyNothingIsSafeTest.java FullSolrCloudTest.java
Author: markrmiller
Date: Mon Jan 16 23:02:14 2012
New Revision: 1232216
URL: http://svn.apache.org/viewvc?rev=1232216&view=rev
Log:
tweak tests
Modified:
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java?rev=1232216&r1=1232215&r2=1232216&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkey.java Mon Jan 16 23:02:14 2012
@@ -63,7 +63,7 @@ public class ChaosMonkey {
private Map<String,List<SolrServer>> shardToClient;
private boolean expireSessions;
private boolean causeConnectionLoss;
- private boolean killLeaders;
+ private boolean aggressivelyKillLeaders;
private Map<String,SolrServer> shardToLeaderClient;
private Map<String,CloudJettyRunner> shardToLeaderJetty;
@@ -99,7 +99,7 @@ public class ChaosMonkey {
public void expireRandomSession() throws KeeperException, InterruptedException {
String sliceName = getRandomSlice();
- JettySolrRunner jetty = getRandomJetty(sliceName, killLeaders);
+ JettySolrRunner jetty = getRandomJetty(sliceName, aggressivelyKillLeaders);
if (jetty != null) {
expireSession(jetty);
expires.incrementAndGet();
@@ -109,7 +109,7 @@ public class ChaosMonkey {
public void randomConnectionLoss() throws KeeperException, InterruptedException {
String sliceName = getRandomSlice();
- JettySolrRunner jetty = getRandomJetty(sliceName, killLeaders);
+ JettySolrRunner jetty = getRandomJetty(sliceName, aggressivelyKillLeaders);
if (jetty != null) {
causeConnectionLoss(jetty);
connloss.incrementAndGet();
@@ -208,7 +208,7 @@ public class ChaosMonkey {
}
public JettySolrRunner stopRandomShard(String slice) throws Exception {
- JettySolrRunner jetty = getRandomJetty(slice, killLeaders);
+ JettySolrRunner jetty = getRandomJetty(slice, aggressivelyKillLeaders);
if (jetty != null) {
stopJetty(jetty);
}
@@ -233,14 +233,14 @@ public class ChaosMonkey {
}
public JettySolrRunner killRandomShard(String slice) throws Exception {
- JettySolrRunner jetty = getRandomJetty(slice, killLeaders);
+ JettySolrRunner jetty = getRandomJetty(slice, aggressivelyKillLeaders);
if (jetty != null) {
killJetty(jetty);
}
return jetty;
}
- public JettySolrRunner getRandomJetty(String slice, boolean killLeader) throws KeeperException, InterruptedException {
+ public JettySolrRunner getRandomJetty(String slice, boolean aggressivelyKillLeaders) throws KeeperException, InterruptedException {
// get latest cloud state
zkStateReader.updateCloudState(true);
Slice theShards = zkStateReader.getCloudState().getSlices(collection)
@@ -291,7 +291,7 @@ public class ChaosMonkey {
int chance = random.nextInt(10);
JettySolrRunner jetty;
- if (chance <= 8 && killLeader) {
+ if (chance <= 8 && aggressivelyKillLeaders) {
// if killLeader, really aggressively go after leaders
Collection<CloudJettyRunner> leaders = shardToLeaderJetty.values();
List<CloudJettyRunner> leadersList = new ArrayList<CloudJettyRunner>(leaders.size());
@@ -308,10 +308,10 @@ public class ChaosMonkey {
ZkNodeProps leader = zkStateReader.getLeaderProps(collection, slice);
boolean isLeader = leader.get(ZkStateReader.NODE_NAME_PROP).equals(jetties.get(index).nodeName);
- if (!killLeader && isLeader) {
+ if (!aggressivelyKillLeaders && isLeader) {
// we don't kill leaders...
return null;
- }
+ }
}
return jetty;
@@ -332,7 +332,7 @@ public class ChaosMonkey {
// synchronously starts and stops shards randomly, unless there is only one
// active shard up for a slice or if there is one active and others recovering
public void startTheMonkey(boolean killLeaders) {
- this.killLeaders = killLeaders;
+ this.aggressivelyKillLeaders = killLeaders;
// TODO: when kill leaders is on, lets kill a higher percentage of leaders
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java?rev=1232216&r1=1232215&r2=1232216&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyNothingIsSafeTest.java Mon Jan 16 23:02:14 2012
@@ -98,7 +98,7 @@ public class ChaosMonkeyNothingIsSafeTes
chaosMonkey.startTheMonkey(true);
- Thread.sleep(atLeast(10000));
+ Thread.sleep(atLeast(20000));
chaosMonkey.stopTheMonkey();
@@ -129,10 +129,16 @@ public class ChaosMonkeyNothingIsSafeTes
commit();
+ // TODO: assert we didnt kill everyone
+
+ zkStateReader.updateCloudState(true);
+ assertTrue(zkStateReader.getCloudState().getLiveNodes().size() > 0);
+
checkShardConsistency(false, true);
// ensure we have added more than 0 docs
long cloudClientDocs = cloudClient.query(new SolrQuery("*:*")).getResults().getNumFound();
+ System.out.println("clouddocs:" + cloudClientDocs);
assertTrue(cloudClientDocs > 0);
if (VERBOSE) System.out.println("control docs:" + controlClient.query(new SolrQuery("*:*")).getResults().getNumFound() + "\n\n");
@@ -185,9 +191,10 @@ public class ChaosMonkeyNothingIsSafeTes
public FullThrottleStopableIndexingThread(List<SolrServer> clients, int startI, boolean doDeletes) throws MalformedURLException {
super(startI, doDeletes);
+ setName("FullThrottleStopableIndexingThread");
setDaemon(true);
this.clients = clients;
- suss = new StreamingUpdateSolrServer(((CommonsHttpSolrServer) clients.get(0)).getBaseURL(), 10, 1);
+ suss = new StreamingUpdateSolrServer(((CommonsHttpSolrServer) clients.get(0)).getBaseURL(), 2, 2);
}
@Override
@@ -247,7 +254,7 @@ public class ChaosMonkeyNothingIsSafeTes
clientIndex = 0;
}
try {
- suss.shutdown();
+ suss.shutdownNow();
suss = new StreamingUpdateSolrServer(((CommonsHttpSolrServer) clients.get(clientIndex)).getBaseURL(), 30, 3);
} catch (MalformedURLException e1) {
e1.printStackTrace();
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java?rev=1232216&r1=1232215&r2=1232216&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudTest.java Mon Jan 16 23:02:14 2012
@@ -1036,6 +1036,7 @@ public class FullSolrCloudTest extends A
protected boolean doDeletes;
public StopableIndexingThread(int startI, boolean doDeletes) {
+ super("StopableIndexingThread");
this.startI = startI;
this.doDeletes = doDeletes;
setDaemon(true);