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 2020/11/09 13:31:10 UTC

[lucene-solr] branch reference_impl_dev updated: @1111 Fix double election join.

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

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


The following commit(s) were added to refs/heads/reference_impl_dev by this push:
     new 4143e1a  @1111 Fix double election join.
4143e1a is described below

commit 4143e1ab028d7218009d32fa62064a61e95e7e6d
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Nov 9 07:30:27 2020 -0600

    @1111 Fix double election join.
---
 solr/core/src/java/org/apache/solr/cloud/ZkController.java  | 12 +++++-------
 solr/core/src/java/org/apache/solr/core/SolrCore.java       |  2 +-
 .../core/src/java/org/apache/solr/update/UpdateHandler.java | 13 -------------
 3 files changed, 6 insertions(+), 21 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index cdce9afa..508e01e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -1378,15 +1378,14 @@ public class ZkController implements Closeable, Runnable {
         throw new SolrException(ErrorCode.SERVER_ERROR, "Error registering SolrCore, replica is removed from clusterstate");
       }
 
-      // nocommit - we need to know what type we are without getting the clusterstate
-      ///  if (replica.getType() != Type.PULL) {
-      log.info("Register terms for replica {}", coreName);
-      getCollectionTerms(collection).register(cloudDesc.getShardId(), coreName);
-      //  }
+      if (replica.getType() != Type.PULL) {
+        log.info("Register terms for replica {}", coreName);
+        getCollectionTerms(collection).register(cloudDesc.getShardId(), coreName);
+      }
 
       ZkShardTerms shardTerms = getShardTerms(collection, cloudDesc.getShardId());
 
-      log.info("Register replica - core:{} address:{} collection:{} shard:{}", coreName, baseUrl, collection, shardId);
+      log.info("Register replica - core:{} address:{} collection:{} shard:{} type={}", coreName, baseUrl, collection, shardId, replica.getType());
       //
       try {
         // If we're a preferred leader, insert ourselves at the head of the queue
@@ -1407,7 +1406,6 @@ public class ZkController implements Closeable, Runnable {
       } catch (KeeperException | IOException e) {
         throw new ZooKeeperException(SolrException.ErrorCode.SERVER_ERROR, "", e);
       }
-      joinElection(desc, afterExpiration, false);
 
       log.info("Wait to see leader for {}, {}", collection, shardId);
       Replica leader = zkStateReader.getLeaderRetry(collection, shardId, 10000);
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index ef2d8af..d6caa54 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -2200,7 +2200,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
         // (caches take a little while to instantiate)
         final boolean useCaches = !realtime;
         final String newName = realtime ? "realtime" : "main";
-        if (isClosed()) { // if we start new searchers after close we won't close them
+        if (isClosing() || isClosed()) { // if we start new searchers after close we won't close them
           throw new SolrCoreState.CoreIsClosedException();
         }
         tmp = new SolrIndexSearcher(this, newIndexDir, getLatestSchema(), newName,
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateHandler.java b/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
index bc41035..bc9002d 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateHandler.java
@@ -160,19 +160,6 @@ UpdateHandler implements SolrInfoBean, Closeable {
         }
         ourUpdateLog.init(ulogPluginInfo);
         ourUpdateLog.init(this, core);
-      } else if (updateLog == null && !skipUpdateLog && core.getCoreContainer().isZooKeeperAware()) {
-        DirectoryFactory dirFactory = core.getDirectoryFactory();
-
-        ourUpdateLog = new UpdateLog();
-
-        if (!core.isReloaded() && !dirFactory.isPersistent()) {
-          ourUpdateLog.clearLog(core, ulogPluginInfo);
-        }
-
-        if (log.isInfoEnabled()) {
-          log.info("Using UpdateLog implementation: {}", ourUpdateLog.getClass().getName());
-        }
-        ourUpdateLog.init(this, core);
       } else {
         ourUpdateLog = updateLog;
       }