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/29 05:51:38 UTC
[lucene-solr] branch reference_impl_dev updated: @873 Avoid hanging
in doRecovery on close.
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
The following commit(s) were added to refs/heads/reference_impl_dev by this push:
new bced362 @873 Avoid hanging in doRecovery on close.
bced362 is described below
commit bced362da86894ddb62d87fc07b2e88489309425
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Sep 29 00:26:09 2020 -0500
@873 Avoid hanging in doRecovery on close.
---
solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java | 6 +++++-
1 file changed, 5 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 6714805..d88573d 100644
--- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
@@ -358,7 +358,11 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
recoveryWaiting.incrementAndGet();
- recoveryLock.lockInterruptibly();
+ while (!recoveryLock.tryLock(1, TimeUnit.SECONDS)) {
+ if (closed || prepForClose) {
+ return;
+ }
+ }
// 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