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 2011/12/06 00:35:19 UTC
svn commit: r1210711 -
/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
Author: markrmiller
Date: Mon Dec 5 23:35:19 2011
New Revision: 1210711
URL: http://svn.apache.org/viewvc?rev=1210711&view=rev
Log:
attempt to fix test failure where seq would sometimes be -1 instead of 0
Modified:
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java?rev=1210711&r1=1210710&r2=1210711&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java Mon Dec 5 23:35:19 2011
@@ -72,6 +72,7 @@ public class LeaderElectionTest extends
SolrZkClient zkClient;
private int nodeNumber;
private int seq = -1;
+ private volatile boolean stop;
public ClientThread(int nodeNumber) throws Exception {
super("Thread-" + nodeNumber);
@@ -81,26 +82,36 @@ public class LeaderElectionTest extends
@Override
public void run() {
- try {
+
LeaderElector elector = new LeaderElector(zkClient);
- ElectionContext context = new ShardLeaderElectionContext("shard1", "collection1", Integer.toString(nodeNumber), null);
+ ElectionContext context = new ShardLeaderElectionContext("shard1",
+ "collection1", Integer.toString(nodeNumber), null);
- elector.setup(context);
- seq = elector.joinElection(context);
- seqToThread.put(seq, this);
- // run forever - we will be explicitly killed
- Thread.sleep(Integer.MAX_VALUE);
- } catch (Throwable e) {
-
+ try {
+ elector.setup(context);
+
+ seq = elector.joinElection(context);
+ seqToThread.put(seq, this);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ while (!stop) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
+
}
public void close() throws InterruptedException {
if (!zkClient.isClosed()) {
zkClient.close();
}
- this.stop();
+ this.stop = true;
}
}
@@ -151,7 +162,6 @@ public class LeaderElectionTest extends
int leaderThread = Integer.parseInt(getLeader());
// whoever the leader is, should be the n_0 seq
- // TODO: seen this fail by seq being -1
assertEquals(0, threads.get(leaderThread).seq);
// kill n_0, 1, 3 and 4