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;
}