in gremlin-client/src/main/java/org/apache/tinkerpop/gremlin/driver/ConnectionAttemptManager.java [89:113]
public void triggerEagerRefresh(EagerRefreshContext context) {
String message = String.format("Wait time to get connection has exceeded threshold [%s millis]", eagerRefreshWaitTimeMillis);
if (onEagerRefresh == null) {
return;
}
long lastRefreshTime = latestRefreshTime.get();
if (lastRefreshTime > 0 && waitTime(lastRefreshTime) < eagerRefreshBackoffMillis) {
logger.warn("{} but last refresh occurred within backoff interval, so not getting new endpoints", message);
return;
}
boolean isRefreshing = refreshing.get();
if (!isRefreshing) {
logger.warn("{} so getting new endpoints", message);
executorService.submit(
new RefreshEventTask(context, client, refreshing, latestRefreshTime, onEagerRefresh, clock));
} else {
logger.warn("{} but already refreshing, so not getting new endpoints", message);
}
}