mirror of https://github.com/apache/lucene.git
SOLR-9846: OverseerAutoReplicaFailoverThread can take too long to stop and leak out of unit tests.
This commit is contained in:
parent
e82399d067
commit
7dec783b28
|
@ -288,6 +288,8 @@ Other Changes
|
|||
response (instead of a SolrException) and includes the remote error message as part of the exception message
|
||||
(Tomás Fernández Löbbe)
|
||||
|
||||
* SOLR-9846: OverseerAutoReplicaFailoverThread can take too long to stop and leak out of unit tests. (Mark Miller)
|
||||
|
||||
================== 6.3.0 ==================
|
||||
|
||||
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
|
||||
|
|
|
@ -89,6 +89,8 @@ public class OverseerAutoReplicaFailoverThread implements Runnable, Closeable {
|
|||
|
||||
private final int workLoopDelay;
|
||||
private final int waitAfterExpiration;
|
||||
|
||||
private volatile Thread thread;
|
||||
|
||||
public OverseerAutoReplicaFailoverThread(CloudConfig config, ZkStateReader zkStateReader,
|
||||
UpdateShardHandler updateShardHandler) {
|
||||
|
@ -118,7 +120,7 @@ public class OverseerAutoReplicaFailoverThread implements Runnable, Closeable {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
this.thread = Thread.currentThread();
|
||||
while (!this.isClosed) {
|
||||
// work loop
|
||||
log.debug("do " + this.getClass().getSimpleName() + " work loop");
|
||||
|
@ -136,7 +138,6 @@ public class OverseerAutoReplicaFailoverThread implements Runnable, Closeable {
|
|||
try {
|
||||
Thread.sleep(workLoopDelay);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -480,6 +481,10 @@ public class OverseerAutoReplicaFailoverThread implements Runnable, Closeable {
|
|||
@Override
|
||||
public void close() {
|
||||
isClosed = true;
|
||||
Thread lThread = thread;
|
||||
if (lThread != null) {
|
||||
lThread.interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isClosed() {
|
||||
|
|
Loading…
Reference in New Issue