Catch and Log RejectedExecutionException in async ping

This commit is contained in:
Simon Willnauer 2013-08-02 11:30:31 +02:00
parent a8dcfa5deb
commit 2a211705a3
1 changed files with 11 additions and 7 deletions

View File

@ -175,14 +175,18 @@ public class UnicastZenPing extends AbstractLifecycleComponent<ZenPing> implemen
threadPool.schedule(TimeValue.timeValueMillis(timeout.millis() / 2), ThreadPool.Names.GENERIC, new Runnable() { threadPool.schedule(TimeValue.timeValueMillis(timeout.millis() / 2), ThreadPool.Names.GENERIC, new Runnable() {
@Override @Override
public void run() { public void run() {
sendPings(timeout, TimeValue.timeValueMillis(timeout.millis() / 2), sendPingsHandler); try {
ConcurrentMap<DiscoveryNode, PingResponse> responses = receivedResponses.remove(sendPingsHandler.id()); sendPings(timeout, TimeValue.timeValueMillis(timeout.millis() / 2), sendPingsHandler);
sendPingsHandler.close(); ConcurrentMap<DiscoveryNode, PingResponse> responses = receivedResponses.remove(sendPingsHandler.id());
for (DiscoveryNode node : sendPingsHandler.nodeToDisconnect) { sendPingsHandler.close();
logger.trace("[{}] disconnecting from {}", sendPingsHandler.id(), node); for (DiscoveryNode node : sendPingsHandler.nodeToDisconnect) {
transportService.disconnectFromNode(node); logger.trace("[{}] disconnecting from {}", sendPingsHandler.id(), node);
transportService.disconnectFromNode(node);
}
listener.onPing(responses.values().toArray(new PingResponse[responses.size()]));
} catch (RejectedExecutionException ex) {
logger.info("Ping execution ejected", ex);
} }
listener.onPing(responses.values().toArray(new PingResponse[responses.size()]));
} }
}); });
} }