Merge pull request #15212 from ywelsch/fix/rejectedexecution-on-shutdown
Ignore RejectedExecutionException in NodesFaultDetection
This commit is contained in:
commit
1905f495bf
|
@ -26,6 +26,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
|||
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.util.concurrent.EsRejectedExecutionException;
|
||||
import org.elasticsearch.threadpool.ThreadPool;
|
||||
import org.elasticsearch.transport.*;
|
||||
|
||||
|
@ -41,7 +42,7 @@ import static org.elasticsearch.common.util.concurrent.ConcurrentCollections.new
|
|||
public class NodesFaultDetection extends FaultDetection {
|
||||
|
||||
public static final String PING_ACTION_NAME = "internal:discovery/zen/fd/ping";
|
||||
|
||||
|
||||
public abstract static class Listener {
|
||||
|
||||
public void onNodeFailure(DiscoveryNode node, String reason) {}
|
||||
|
@ -145,14 +146,18 @@ public class NodesFaultDetection extends FaultDetection {
|
|||
}
|
||||
|
||||
private void notifyNodeFailure(final DiscoveryNode node, final String reason) {
|
||||
threadPool.generic().execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Listener listener : listeners) {
|
||||
listener.onNodeFailure(node, reason);
|
||||
try {
|
||||
threadPool.generic().execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Listener listener : listeners) {
|
||||
listener.onNodeFailure(node, reason);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
} catch (EsRejectedExecutionException ex) {
|
||||
logger.trace("[node ] [{}] ignoring node failure (reason [{}]). Local node is shutting down", ex, node, reason);
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyPingReceived(final PingRequest pingRequest) {
|
||||
|
|
Loading…
Reference in New Issue