You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ma...@apache.org on 2010/01/25 20:05:39 UTC
svn commit: r902932 -
/lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java
Author: markrmiller
Date: Mon Jan 25 19:05:38 2010
New Revision: 902932
URL: http://svn.apache.org/viewvc?rev=902932&view=rev
Log:
watch should be getChildren not exists
Modified:
lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java
Modified: lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java?rev=902932&r1=902931&r2=902932&view=diff
==============================================================================
--- lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java (original)
+++ lucene/solr/branches/cloud/src/java/org/apache/solr/cloud/ZkController.java Mon Jan 25 19:05:38 2010
@@ -418,7 +418,13 @@
Map<String,Map<String,Slice>> collectionStates = new HashMap<String,Map<String,Slice>>();
for (String collection : collections) {
String shardIdPaths = COLLECTIONS_ZKNODE + "/" + collection + SHARDS_ZKNODE;
- List<String> shardIdNames = zkClient.getChildren(shardIdPaths, null);
+ List<String> shardIdNames;
+ try {
+ shardIdNames = zkClient.getChildren(shardIdPaths, null);
+ } catch(KeeperException.NoNodeException e) {
+ // node is not valid currently
+ continue;
+ }
Map<String,Slice> slices = new HashMap<String,Slice>();
for(String shardIdZkPath : shardIdNames) {
Map<String,ZkNodeProps> shardsMap = readShards(shardIdPaths + "/" + shardIdZkPath);
@@ -695,16 +701,17 @@
}
log.info("Start watching collections node for changes");
- zkClient.exists(COLLECTIONS_ZKNODE, new Watcher(){
+ zkClient.getChildren(COLLECTIONS_ZKNODE, new Watcher(){
public void process(WatchedEvent event) {
try {
// TODO: fine grained - just reload what's changed
-
+ // nocommit
+ log.info("children changed");
// something changed, reload cloud state
updateCloudState();
// re-watch
- zkClient.exists(event.getPath(), this);
+ zkClient.getChildren(event.getPath(), this);
} catch (KeeperException e) {
log.error("", e);
throw new ZooKeeperException(SolrException.ErrorCode.SERVER_ERROR,