You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2014/01/21 09:27:15 UTC

svn commit: r1559937 - in /lucene/dev/branches/branch_4x/solr: ./ core/ core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java core/src/test/org/apache/solr/cloud/OverseerRolesTest.java

Author: noble
Date: Tue Jan 21 08:27:15 2014
New Revision: 1559937

URL: http://svn.apache.org/r1559937
Log:
SOLR-5476 handle nonode exception

Modified:
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java

Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java?rev=1559937&r1=1559936&r2=1559937&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/cloud/OverseerCollectionProcessor.java Tue Jan 21 08:27:15 2014
@@ -305,6 +305,21 @@ public class OverseerCollectionProcessor
     return nodeNames;
   }
 
+  public static String getLeaderNode(SolrZkClient zkClient) throws KeeperException, InterruptedException {
+    byte[] data = new byte[0];
+    try {
+      data = zkClient.getData("/overseer_elect/leader", null, new Stat(), true);
+    } catch (KeeperException.NoNodeException e) {
+      return null;
+    }
+    Map m = (Map) ZkStateReader.fromJSON(data);
+    String s = (String) m.get("id");
+//    log.info("leader-id {}",s);
+    String nodeName = LeaderElector.getNodeName(s);
+//    log.info("Leader {}", nodeName);
+    return nodeName;
+  }
+
   private void invokeRejoinOverseer(String nodeName) {
     ModifiableSolrParams params = new ModifiableSolrParams();
     params.set(CoreAdminParams.ACTION, CoreAdminAction.REJOINOVERSEERELECTION.toString());
@@ -318,12 +333,6 @@ public class OverseerCollectionProcessor
     shardHandler.submit(sreq, replica, sreq.params);
   }
 
-  public static String getLeaderNode(SolrZkClient client) throws KeeperException, InterruptedException {
-    Map m = (Map) ZkStateReader.fromJSON(client.getData("/overseer_elect/leader", null, new Stat(), true));
-    String s = (String) m.get("id");
-    String nodeName = LeaderElector.getNodeName(s);
-    return nodeName;
-  }
 
   protected LeaderStatus amILeader() {
     try {

Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java?rev=1559937&r1=1559936&r2=1559937&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java Tue Jan 21 08:27:15 2014
@@ -99,7 +99,7 @@ public class OverseerRolesTest  extends 
 
     ArrayList<String> l = new ArrayList<String>(nodes);
     log.info("All nodes {}", l);
-    String currentLeader = OverseerCollectionProcessor. getLeaderNode(client.getZkStateReader().getZkClient());
+    String currentLeader = OverseerCollectionProcessor.getLeaderNode(client.getZkStateReader().getZkClient());
     log.info("Current leader {} ", currentLeader);
     l.remove(currentLeader);
 
@@ -112,7 +112,7 @@ public class OverseerRolesTest  extends 
 
     boolean leaderchanged = false;
     for(;System.currentTimeMillis() < timeout;){
-      if(OverseerCollectionProcessor.getLeaderNode(client.getZkStateReader().getZkClient()).equals(overseerDesignate)){
+      if(overseerDesignate.equals(OverseerCollectionProcessor.getLeaderNode(client.getZkStateReader().getZkClient()))){
         log.info("overseer designate is the new overseer");
         leaderchanged =true;
         break;
@@ -169,7 +169,6 @@ public class OverseerRolesTest  extends 
   }
 
 
-
   protected void createCollection(String COLL_NAME, CloudSolrServer client) throws Exception {
     int replicationFactor = 2;
     int numShards = 4;