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/09/01 20:33:18 UTC

[lucene-solr] 02/02: @679 A couple more fixes around debugging testRetryUpdatesWhenClusterStateIsStale.

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

commit 2b4db537bf7a7fde3503d6d8479e1f0ad5001df1
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Sep 1 15:32:02 2020 -0500

    @679 A couple more fixes around debugging testRetryUpdatesWhenClusterStateIsStale.
---
 .../core/src/java/org/apache/solr/cloud/ZkCollectionTerms.java |  1 -
 solr/core/src/java/org/apache/solr/cloud/ZkController.java     | 10 ++++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkCollectionTerms.java b/solr/core/src/java/org/apache/solr/cloud/ZkCollectionTerms.java
index 8641b74..25d2b27 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkCollectionTerms.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkCollectionTerms.java
@@ -59,7 +59,6 @@ class ZkCollectionTerms implements AutoCloseable {
 
   public void remove(String shardId, CoreDescriptor coreDescriptor) {
     synchronized (terms) {
-      if (closed) throw new AlreadyClosedException();
       if (getShard(shardId).removeTerm(coreDescriptor)) {
         terms.remove(shardId).close();
       }
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 67d45b1..dd3e15c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -1947,10 +1947,12 @@ public class ZkController implements Closeable {
   public void unregister(String coreName, CoreDescriptor cd, boolean removeCoreFromZk) throws Exception {
     final String coreNodeName = cd.getCloudDescriptor().getCoreNodeName();
     final String collection = cd.getCloudDescriptor().getCollectionName();
-    ZkCollectionTerms ct = collectionToTerms.get(collection);
-    if (ct != null) {
-      ct.close();
-      ct.remove(cd.getCloudDescriptor().getShardId(), cd);
+    synchronized (collectionToTerms) {
+      ZkCollectionTerms ct = collectionToTerms.get(collection);
+      if (ct != null) {
+        ct.close();
+        ct.remove(cd.getCloudDescriptor().getShardId(), cd);
+      }
     }
     replicasMetTragicEvent.remove(collection+":"+coreNodeName);