You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2017/09/02 15:42:53 UTC

[22/50] lucene-solr:feature/autoscaling: SOLR-11278: Stopping CDCR should cancel a running bootstrap operation

SOLR-11278: Stopping CDCR should cancel a running bootstrap operation


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/b4c6bfaf
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/b4c6bfaf
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/b4c6bfaf

Branch: refs/heads/feature/autoscaling
Commit: b4c6bfafdb32127316b334ffdd195270e1077fbe
Parents: 54d760f
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Wed Aug 30 22:59:30 2017 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Wed Aug 30 22:59:30 2017 +0530

----------------------------------------------------------------------
 solr/CHANGES.txt                                               | 2 ++
 .../java/org/apache/solr/handler/CdcrReplicatorManager.java    | 6 ++++++
 .../src/java/org/apache/solr/handler/CdcrRequestHandler.java   | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b4c6bfaf/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 6b342fc..c27e7cd 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -114,6 +114,8 @@ Bug Fixes
   contrib/ltr OriginalScoreFeature issues in SolrCloud mode.
   (Yuki Yano, Jonathan Gonzalez, Ryan Yacyshyn, Christine Poerschke)
 
+* SOLR-11278: Stopping CDCR should cancel a running bootstrap operation. (Amrit Sarkar, shalin)
+
 Optimizations
 ----------------------
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b4c6bfaf/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
index 6f0d704..677f5d3 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.TimeUnit;
 
@@ -142,6 +143,11 @@ class CdcrReplicatorManager implements CdcrStateManager.CdcrStateObserver {
       ExecutorUtil.shutdownAndAwaitTermination(bootstrapExecutor);
     }
     this.closeLogReaders();
+    Callable callable = core.getSolrCoreState().getCdcrBootstrapCallable();
+    if (callable != null)  {
+      CdcrRequestHandler.BootstrapCallable bootstrapCallable = (CdcrRequestHandler.BootstrapCallable) callable;
+      IOUtils.closeQuietly(bootstrapCallable);
+    }
   }
 
   List<CdcrReplicatorState> getReplicatorStates() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/b4c6bfaf/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
index 65a4cec..caf88f4 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
@@ -713,7 +713,7 @@ public class CdcrRequestHandler extends RequestHandlerBase implements SolrCoreAw
     }
   }
 
-  private static class BootstrapCallable implements Callable<Boolean>, Closeable {
+  static class BootstrapCallable implements Callable<Boolean>, Closeable {
     private final String masterUrl;
     private final SolrCore core;
     private volatile boolean closed = false;