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,6 +175,7 @@ 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() {
try {
sendPings(timeout, TimeValue.timeValueMillis(timeout.millis() / 2), sendPingsHandler); sendPings(timeout, TimeValue.timeValueMillis(timeout.millis() / 2), sendPingsHandler);
ConcurrentMap<DiscoveryNode, PingResponse> responses = receivedResponses.remove(sendPingsHandler.id()); ConcurrentMap<DiscoveryNode, PingResponse> responses = receivedResponses.remove(sendPingsHandler.id());
sendPingsHandler.close(); sendPingsHandler.close();
@ -183,6 +184,9 @@ public class UnicastZenPing extends AbstractLifecycleComponent<ZenPing> implemen
transportService.disconnectFromNode(node); transportService.disconnectFromNode(node);
} }
listener.onPing(responses.values().toArray(new PingResponse[responses.size()])); listener.onPing(responses.values().toArray(new PingResponse[responses.size()]));
} catch (RejectedExecutionException ex) {
logger.info("Ping execution ejected", ex);
}
} }
}); });
} }