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/10/02 19:57:04 UTC
[lucene-solr] 02/04: @932 Trying out.
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 a22eb6032419b94b6c0c56439e061ac79bee3c33
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Fri Oct 2 14:18:25 2020 -0500
@932 Trying out.
---
.../org/apache/solr/cloud/OverseerTaskProcessor.java | 20 ++++++++------------
.../OverseerCollectionMessageHandler.java | 2 +-
.../src/java/org/apache/solr/core/CoreContainer.java | 4 ----
3 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index 4078432..7a3ee82 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -251,13 +251,13 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
continue;
}
OverseerMessageHandler messageHandler = selector.selectOverseerMessageHandler(message);
- OverseerMessageHandler.Lock lock = messageHandler.lockTask(message, taskBatch);
- if (lock == null) {
- log.debug("Exclusivity check failed for [{}]", message.toString());
- // we may end crossing the size of the MAX_BLOCKED_TASKS. They are fine
- if (blockedTasks.size() < MAX_BLOCKED_TASKS) blockedTasks.put(head.getId(), head);
- continue;
- }
+// OverseerMessageHandler.Lock lock = messageHandler.lockTask(message, taskBatch);
+// if (lock == null) {
+// log.debug("Exclusivity check failed for [{}]", message.toString());
+// // we may end crossing the size of the MAX_BLOCKED_TASKS. They are fine
+// if (blockedTasks.size() < MAX_BLOCKED_TASKS) blockedTasks.put(head.getId(), head);
+// continue;
+// }
try {
markTaskAsRunning(head, asyncId);
if (log.isDebugEnabled()) {
@@ -273,7 +273,7 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
}
if (log.isDebugEnabled()) log.debug(messageHandler.getName() + ": Get the message id:" + head.getId() + " message:" + message.toString());
- Runner runner = new Runner(messageHandler, message, operation, head, lock);
+ Runner runner = new Runner(messageHandler, message, operation, head, null);
taskFutures.put(runner, ParWork.getRootSharedExecutor().submit(runner));
}
@@ -420,7 +420,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
protected class Runner implements Runnable {
final ZkNodeProps message;
final String operation;
- private final OverseerMessageHandler.Lock lock;
volatile OverseerSolrResponse response;
final QueueEvent head;
final OverseerMessageHandler messageHandler;
@@ -430,7 +429,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
this.operation = operation;
this.head = head;
this.messageHandler = messageHandler;
- this.lock = lock;
}
@@ -488,8 +486,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
return;
}
log.error("Exception running task", e);
- } finally {
- lock.unlock();
}
if (log.isDebugEnabled()) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
index 3a14536..38d2aa7 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
@@ -906,7 +906,7 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
private LockTree.Session lockSession;
@Override
- public Lock lockTask(ZkNodeProps message, OverseerTaskProcessor.TaskBatch taskBatch) {
+ public synchronized Lock lockTask(ZkNodeProps message, OverseerTaskProcessor.TaskBatch taskBatch) {
if (lockSession == null || sessionId != taskBatch.getId()) {
//this is always called in the same thread.
//Each batch is supposed to have a new taskBatch
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 4b29f02..aff3e92 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -1407,16 +1407,12 @@ public class CoreContainer implements Closeable {
solrCores.removeCoreDescriptor(dcore);
}
final SolrException solrException = new SolrException(ErrorCode.SERVER_ERROR, "Unable to create core [" + dcore.getName() + "]", e);
- if (core != null && !core.isClosed())
- ParWork.close(core);
throw solrException;
} catch (Throwable t) {
log.error("Unable to create SolrCore", t);
SolrException e = new SolrException(ErrorCode.SERVER_ERROR, "JVM Error creating core [" + dcore.getName() + "]: " + t.getMessage(), t);
coreInitFailures.put(dcore.getName(), new CoreLoadFailure(dcore, e));
solrCores.removeCoreDescriptor(dcore);
- if (core != null && !core.isClosed())
- IOUtils.closeQuietly(core);
throw t;
} finally {
MDCLoggingContext.clear();