You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2017/05/19 00:13:30 UTC
[09/50] [abbrv] lucene-solr:jira/solr-10233: SOLR-10414:
RecoveryStrategy is now a Runnable instead of a Thread
SOLR-10414: RecoveryStrategy is now a Runnable instead of a Thread
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/c9abe7db
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/c9abe7db
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/c9abe7db
Branch: refs/heads/jira/solr-10233
Commit: c9abe7db23578545eaa67414778b501b2b115b8a
Parents: 942a085
Author: Tomas Fernandez Lobbe <tf...@apache.org>
Authored: Tue May 16 17:03:10 2017 -0700
Committer: Tomas Fernandez Lobbe <tf...@apache.org>
Committed: Tue May 16 17:03:10 2017 -0700
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java | 5 ++---
.../src/java/org/apache/solr/update/DefaultSolrCoreState.java | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c9abe7db/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 85810ab4..acc29f4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -155,6 +155,8 @@ Other Changes
* SOLR-10584: We'll now always throw an exception if defaultOperator is found in schema. This config has
been deprecated since 3.6, and enforced for new configs since 6.6 (janhoy)
+* SOLR-10414: RecoveryStrategy is now a Runnable instead of a Thread. (Tomás Fernández Löbbe)
+
================== 6.7.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c9abe7db/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
index 496d082..7599b05 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
@@ -74,7 +74,7 @@ import org.slf4j.LoggerFactory;
* between versions in terms of API or back compat behaviour.
* @lucene.experimental
*/
-public class RecoveryStrategy extends Thread implements Closeable {
+public class RecoveryStrategy implements Runnable, Closeable {
public static class Builder implements NamedListInitializedPlugin {
private NamedList args;
@@ -124,7 +124,6 @@ public class RecoveryStrategy extends Thread implements Closeable {
this.cc = cc;
this.coreName = cd.getName();
this.recoveryListener = recoveryListener;
- setName("RecoveryThread-"+this.coreName);
zkController = cc.getZkController();
zkStateReader = zkController.getZkStateReader();
baseUrl = zkController.getBaseUrl();
@@ -370,7 +369,7 @@ public class RecoveryStrategy extends Thread implements Closeable {
}
Future<RecoveryInfo> replayFuture = null;
- while (!successfulRecovery && !isInterrupted() && !isClosed()) { // don't use interruption or it will close channels though
+ while (!successfulRecovery && !Thread.currentThread().isInterrupted() && !isClosed()) { // don't use interruption or it will close channels though
try {
CloudDescriptor cloudDesc = core.getCoreDescriptor().getCloudDescriptor();
ZkNodeProps leaderprops = zkStateReader.getLeaderRetry(
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c9abe7db/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
----------------------------------------------------------------------
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 bc2afa8..e38c28c 100644
--- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
@@ -278,7 +278,7 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
@Override
public void doRecovery(CoreContainer cc, CoreDescriptor cd) {
- Thread thread = new Thread() {
+ Runnable recoveryTask = new Runnable() {
@Override
public void run() {
MDCLoggingContext.setCoreDescriptor(cc, cd);
@@ -355,7 +355,7 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
// The recovery executor is not interrupted on shutdown.
//
// avoid deadlock: we can't use the recovery executor here
- cc.getUpdateShardHandler().getUpdateExecutor().submit(thread);
+ cc.getUpdateShardHandler().getUpdateExecutor().submit(recoveryTask);
} catch (RejectedExecutionException e) {
// fine, we are shutting down
}