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/17 15:22:41 UTC

[lucene-solr] 07/18: @842 Recovery tweaks.

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 1992cc6df3f1beca159d0768760cee7191e11053
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Wed Sep 16 19:23:31 2020 -0500

    @842 Recovery tweaks.
---
 .../src/java/org/apache/solr/cloud/ZkController.java   |  7 +------
 .../org/apache/solr/update/DefaultSolrCoreState.java   | 18 +++---------------
 2 files changed, 4 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 db48baa..6d85017 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -471,7 +471,6 @@ public class ZkController implements Closeable {
                     parWork.collect(new RegisterCoreAsync(descriptor, true, true));
 
                   } catch (Exception e) {
-                    ParWork.propagateInterrupt(e);
                     SolrException.log(log, "Error registering SolrCore", e);
                   }
                 }
@@ -493,9 +492,7 @@ public class ZkController implements Closeable {
               }
             }
           } catch (InterruptedException e) {
-            ParWork.propagateInterrupt(e);
-            throw new ZooKeeperException(
-                    SolrException.ErrorCode.SERVER_ERROR, "", e);
+            log.warn("interrupted");
           } catch (SessionExpiredException e) {
             throw e;
           } catch (AlreadyClosedException e) {
@@ -503,8 +500,6 @@ public class ZkController implements Closeable {
             return;
           } catch (Exception e) {
             SolrException.log(log, "", e);
-            throw new ZooKeeperException(
-                    SolrException.ErrorCode.SERVER_ERROR, "", e);
           }
         }
       }
diff --git a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
index 2ec7119..0a570bf 100644
--- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
@@ -347,10 +347,9 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
           }
 
           recoveryWaiting.incrementAndGet();
-          cancelRecovery();
+          cancelRecovery(true, false);
 
-          recoveryLock.lockInterruptibly();
-          locked = true;
+          recoveryLock.lock();
           // don't use recoveryLock.getQueueLength() for this
           if (recoveryWaiting.decrementAndGet() > 0) {
             // another recovery waiting behind us, let it run now instead of after we finish
@@ -363,10 +362,6 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
             return;
           }
 
-          if (prepForClose || cc.isShutDown() || closed) {
-            return;
-          }
-
           recoveryThrottle.minimumWaitBetweenActions();
           recoveryThrottle.markAttemptingAction();
 
@@ -377,8 +372,6 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
           log.info("Running recovery");
           recoveryStrat.run();
 
-        } catch (InterruptedException e) {
-          log.info("Recovery thread interrupted");
         } finally {
           if (recoveryLock.isHeldByCurrentThread()) recoveryLock.unlock();
         }
@@ -425,13 +418,8 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
       if (recoveryStrat != null) {
         closer.collect("recoveryStrat", (() -> {
           try {
-            recoveryFuture.cancel(true);
-            recoveryStrat.close();
-          } catch (NullPointerException e) {
-            // okay
-          }
-          try {
             recoveryStrat.close();
+            recoveryFuture.cancel(true);
           } catch (NullPointerException e) {
             // okay
           }