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/15 04:28:15 UTC
svn commit: r1214613 - in /lucene/dev/branches/solrcloud/solr:
core/src/java/org/apache/solr/cloud/Overseer.java
core/src/test/org/apache/solr/cloud/OverseerTest.java
solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
Author: markrmiller
Date: Thu Dec 15 03:28:15 2011
New Revision: 1214613
URL: http://svn.apache.org/viewvc?rev=1214613&view=rev
Log:
whoops - checking for the wrong exception in last commit
Modified:
lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/cloud/Overseer.java
lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
Modified: lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/cloud/Overseer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/cloud/Overseer.java?rev=1214613&r1=1214612&r2=1214613&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/cloud/Overseer.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/java/org/apache/solr/cloud/Overseer.java Thu Dec 15 03:28:15 2011
@@ -32,6 +32,8 @@ import org.apache.solr.common.SolrExcept
import org.apache.solr.common.cloud.*;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.KeeperException.NoNodeException;
+import org.apache.zookeeper.KeeperException.NodeExistsException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.KeeperException.Code;
@@ -153,10 +155,8 @@ public class Overseer implements NodeSta
if (!zkClient.exists(path)) {
zkClient.makePath(path);
}
- } catch (KeeperException e) {
- if (e.code() != Code.NODEEXISTS) {
- throw e;
- }
+ } catch (NodeExistsException e) {
+ // thats okay...
}
NodeStateWatcher nsw = new NodeStateWatcher(zkClient, nodeName, path, this);
Modified: lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java?rev=1214613&r1=1214612&r2=1214613&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java (original)
+++ lucene/dev/branches/solrcloud/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java Thu Dec 15 03:28:15 2011
@@ -318,7 +318,6 @@ public class OverseerTest extends SolrTe
// wait overseer assignment
waitForSliceCount(reader, "collection1", 1);
- // nocommit: when testOverseerFailure runs after testStateChange, it fails with an NPE below
assertEquals("Illegal state", ZkStateReader.RECOVERING,
reader.getCloudState().getSlice("collection1", "shard1").getShards()
.get("core1").get(ZkStateReader.STATE_PROP));
Modified: lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java?rev=1214613&r1=1214612&r2=1214613&view=diff
==============================================================================
--- lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java (original)
+++ lucene/dev/branches/solrcloud/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java Thu Dec 15 03:28:15 2011
@@ -42,6 +42,8 @@ import org.apache.zookeeper.SolrZooKeepe
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
+import org.apache.zookeeper.KeeperException.NoNodeException;
+import org.apache.zookeeper.KeeperException.NodeExistsException;
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
@@ -381,7 +383,14 @@ public class SolrZkClient {
mode = createMode;
bytes = data;
}
- keeper.create(currentPath, bytes, ZooDefs.Ids.OPEN_ACL_UNSAFE, mode);
+ try {
+ keeper.create(currentPath, bytes, ZooDefs.Ids.OPEN_ACL_UNSAFE, mode);
+ } catch (NodeExistsException e) {
+ // ignore unless it's the last node in the path
+ if (i == paths.length - 1) {
+ throw e;
+ }
+ }
if(i == paths.length -1) {
// set new watch
exists(currentPath, watcher);