private void cancelQuietly() {
        try {
            future.cancel(false);
        } catch (CancellationException ignored) {
            // Ignored
        }
    }
Block calling thread until Elasticsearch can be reached successfully, the timeout period is exceeded,
or a fatal error occurs.

@throws FailedPollingException if Elasticsearch can not be reached, which wraps a range of checked
     and unchecked exceptions. {@link FailedPollingException#getCause()} contains the wrapped
     exception.
common/es/src/main/java/io/apiman/common/es/util/EsConnectionPoller.java