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 2021/03/10 02:04:08 UTC

[lucene-solr] branch reference_impl updated: @1439 Logging cleanup and zkstatewriter use the latest replica stats exception state.

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

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/reference_impl by this push:
     new edbf817  @1439 Logging cleanup and zkstatewriter use the latest replica stats exception state.
edbf817 is described below

commit edbf8172a2337b57b4e2a5e389a0cf9fbe2a6e3b
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Mar 9 19:54:47 2021 -0600

    @1439 Logging cleanup and zkstatewriter use the latest replica stats exception state.
    
    Took 19 minutes
---
 .../solr/cloud/api/collections/DeleteCollectionCmd.java    |  2 +-
 .../java/org/apache/solr/cloud/overseer/ZkStateWriter.java | 14 +++++++-------
 .../java/org/apache/solr/update/SolrCmdDistributor.java    | 12 ++++++------
 .../client/solrj/impl/SolrClientNodeStateProvider.java     |  3 +--
 .../solrj/src/java/org/apache/solr/common/cloud/Slice.java |  9 +++++++--
 5 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteCollectionCmd.java
index c55b879..12661f9 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteCollectionCmd.java
@@ -107,7 +107,7 @@ public class DeleteCollectionCmd implements OverseerCollectionMessageHandler.Cmd
     zkStateReader.getZkClient().getSolrZooKeeper().sync(ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection,  (rc, path, ctx) -> {
       latch.countDown();
     }, null);
-    latch.await(5, TimeUnit.SECONDS);
+    latch.await(10, TimeUnit.SECONDS);
     if (!zkStateReader.getZkClient().exists(ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection)) {
       throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Could not find collection " + collection);
     }
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index 06675de..9f91b41 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -120,11 +120,11 @@ public class ZkStateWriter {
 
           idToCollection.put(collection.getId(), collection.getName());
 
-          if (currentCollection != null) {
-            if (currentCollection.getId() != collection.getId()) {
-              removeCollection(collection.getName());
-            }
-          }
+//          if (currentCollection != null) {
+//            if (currentCollection.getId() != collection.getId()) {
+//              removeCollection(collection.getName());
+//            }
+//          }
 
           if (currentCollection != null) {
 
@@ -462,7 +462,7 @@ public class ZkStateWriter {
     //log.info("writing out state, looking at collections count={} toWrite={} {} : {}", cs.getCollectionsMap().size(), collectionsToWrite.size(), cs.getCollectionsMap().keySet(), collectionsToWrite);
     //try {
       cs.forEachCollection(collection -> {
-        log.info("check collection {} {} {}", collection, dirtyStructure, dirtyState);
+        if (log.isDebugEnabled()) log.debug("check collection {} {} {}", collection, dirtyStructure, dirtyState);
         Integer version = null;
         if (dirtyStructure.contains(collection.getName()) || dirtyState.contains(collection.getName())) {
             log.info("process collection {}", collection);
@@ -549,7 +549,7 @@ public class ZkStateWriter {
 
       });
 
-      removeCollections.forEach(c ->  removeCollection(c));
+      //removeCollections.forEach(c ->  removeCollection(c));
 
       if (badVersionException.get() != null) {
         throw badVersionException.get();
diff --git a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
index f9f74a5..a1c8249 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCmdDistributor.java
@@ -246,14 +246,14 @@ public class SolrCmdDistributor implements Closeable {
 //    if (log.isDebugEnabled()) {
 //      log.debug("sending update to " + req.node.getUrl() + " retry:" + req.retries + " " + req.cmd + " params:" + req.uReq.getParams());
 //    }
-    if (req.cmd instanceof AddUpdateCommand) {
-      log.info("sending update to " + req.node.getUrl() + " retry:" + req.retries + " docid=" + ((AddUpdateCommand) req.cmd).getPrintableId() + " " + req.cmd + " params:" + req.uReq.getParams());
-    } else {
-      log.info("sending update to " + req.node.getUrl() + " retry:" + req.retries + " docid=" + req.cmd + " params:" + req.uReq.getParams());
+    if (log.isDebugEnabled()) {
+      if (req.cmd instanceof AddUpdateCommand) {
+        log.info("sending update to " + req.node.getUrl() + " retry:" + req.retries + " docid=" + ((AddUpdateCommand) req.cmd).getPrintableId() + " " + req.cmd + " params:" + req.uReq.getParams());
+      } else {
+        log.info("sending update to " + req.node.getUrl() + " retry:" + req.retries + " docid=" + req.cmd + " params:" + req.uReq.getParams());
+      }
     }
 
-
-
     req.uReq.setBasePath(req.node.getUrl());
 
     if (req.synchronous) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
index b982595..86c7995 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
@@ -299,8 +299,7 @@ public class SolrClientNodeStateProvider implements NodeStateProvider, MapWriter
           if (n != null) ctx.getTags().put(HEAPUSAGE, n.doubleValue() * 100.0d);
         }
       } catch (Exception e) {
-        ParWork.propagateInterrupt(e);
-        throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Error getting remote info", e);
+        log.error("Error getting remote info", e);
       }
     }
   }
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java b/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
index 18c9d3b..50726bf 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/Slice.java
@@ -83,8 +83,13 @@ public class Slice extends ZkNodeProps implements Iterable<Replica> {
 
         Replica currentReplica = currentSlice.getReplica(replica.getName());
         if (currentReplica != null) {
-
-          Replica newReplica = new Replica(replica.getName(), currentReplica.getProperties(), replica.collection, replica.collectionId, replica.slice,
+          replica.getProperties().put(ZkStateReader.STATE_PROP, currentReplica.getState().toString().toLowerCase(Locale.ROOT));
+          if (Boolean.parseBoolean((String) currentReplica.getProperties().get("leader"))) {
+            replica.propMap.put("leader", "true");
+          } else {
+            replica.propMap.remove("leader");
+          }
+          Replica newReplica = new Replica(replica.getName(), replica.getProperties(), replica.collection, replica.collectionId, replica.slice,
               nodeNameToBaseUrl);
           replicas.put(replica.getName(), newReplica);
         } else {