You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ho...@apache.org on 2022/09/22 18:37:04 UTC

[solr] branch branch_9x updated: SOLR-16416: Add error logging to allow debugging of OverseerNodePrioritizer

This is an automated email from the ASF dual-hosted git repository.

houston pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new f529154f740 SOLR-16416: Add error logging to allow debugging of OverseerNodePrioritizer
f529154f740 is described below

commit f529154f74078e9012be486a684bdd021072df72
Author: Houston Putman <ho...@apache.org>
AuthorDate: Wed Sep 21 15:13:02 2022 -0400

    SOLR-16416: Add error logging to allow debugging of OverseerNodePrioritizer
    
    (cherry picked from commit 0aa9b333d94f7573f83a414586f0ae34fe1c13a5)
---
 .../java/org/apache/solr/cloud/OverseerNodePrioritizer.java | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
index 870372e291f..de65877b7de 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerNodePrioritizer.java
@@ -32,6 +32,7 @@ import org.apache.solr.handler.ClusterAPI;
 import org.apache.solr.handler.component.ShardHandler;
 import org.apache.solr.handler.component.ShardHandlerFactory;
 import org.apache.solr.handler.component.ShardRequest;
+import org.apache.solr.handler.component.ShardResponse;
 import org.apache.zookeeper.data.Stat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -121,6 +122,12 @@ public class OverseerNodePrioritizer {
         log.info("asking the old first in line {} to rejoin election  ", electionNodes.get(1));
       }
       invokeOverseerOp(electionNodes.get(1), "rejoin"); // ask second inline to go behind
+      if (log.isInfoEnabled()) {
+        List<String> newElectionNodes =
+            OverseerTaskProcessor.getSortedElectionNodes(
+                zk, Overseer.OVERSEER_ELECT + LeaderElector.ELECTION_NODE);
+        log.info("sorted nodes after prioritization {}", newElectionNodes);
+      }
     }
     // now ask the current leader to QUIT , so that the designate can takeover
     overseer.sendQuitToOverseer(OverseerTaskProcessor.getLeaderId(zkStateReader.getZkClient()));
@@ -140,6 +147,10 @@ public class OverseerNodePrioritizer {
     sreq.actualShards = sreq.shards;
     sreq.params = params;
     shardHandler.submit(sreq, replica, sreq.params);
-    shardHandler.takeCompletedOrError();
+    ShardResponse response = shardHandler.takeCompletedOrError();
+    if (response.getException() != null) {
+      log.error(
+          "Exception occurred while invoking Overseer Operation: {}", op, response.getException());
+    }
   }
 }