mirror of https://github.com/apache/lucene.git
SOLR-3721: Fix bug that could allow multiple recoveries to run briefly at the same time if the recovery thread join call was interrupted.
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1378904 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
883323f166
commit
48ae881287
|
@ -90,6 +90,10 @@ Bug Fixes
|
|||
|
||||
* SOLR-3770: Overseer may lose updates to cluster state (siren)
|
||||
|
||||
* SOLR-3721: Fix bug that could allow multiple recoveries to run briefly at
|
||||
the same time if the recovery thread join call was interrupted.
|
||||
(Per Steffensen, Mark Miller)
|
||||
|
||||
Other Changes
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -242,10 +242,14 @@ public final class DefaultSolrCoreState extends SolrCoreState {
|
|||
synchronized (recoveryLock) {
|
||||
if (recoveryStrat != null) {
|
||||
recoveryStrat.close();
|
||||
try {
|
||||
recoveryStrat.join();
|
||||
} catch (InterruptedException e) {
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
recoveryStrat.join();
|
||||
} catch (InterruptedException e) {
|
||||
// not interruptible - keep waiting
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
recoveryRunning = false;
|
||||
|
|
Loading…
Reference in New Issue