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/02 04:13:39 UTC
[lucene-solr] 04/05: @693 You can get stuck in doRecovery.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 891f342e0fa6ff254239378158efffeed601130d
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Sep 1 21:58:06 2020 -0500
@693 You can get stuck in doRecovery.
---
solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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 cca3ca4..c9e95c9 100644
--- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
@@ -347,7 +347,7 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
recoveryWaiting.incrementAndGet();
cancelRecovery();
- recoveryLock.lock();
+ recoveryLock.lockInterruptibly();
// 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
@@ -375,6 +375,8 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
recoveryStrat.setRecoveringAfterStartup(recoveringAfterStartup);
recoveryStrat.run();
+ } catch (InterruptedException e) {
+ ParWork.propegateInterrupt(e);
} finally {
if (locked) recoveryLock.unlock();
}