public void run()

in gremlin-client/src/main/java/software/amazon/neptune/cluster/ClusterEndpointsRefreshAgent.java [53:74]


        public void run() {
            try {
                Map<EndpointsSelector, Collection<GremlinClient>> clientSelectors = new HashMap<>();
                for (RefreshTask task : tasks) {
                    EndpointsSelector selector = task.selector();
                    if (!clientSelectors.containsKey(selector)){
                        clientSelectors.put(selector, new ArrayList<>());
                    }
                    clientSelectors.get(selector).add(task.client());
                }
                Map<? extends EndpointsSelector, EndpointCollection> refreshResults = endpointsSupplier.getRefreshedEndpointsForSelectors(clientSelectors);
                for (Map.Entry<? extends EndpointsSelector, EndpointCollection> entry : refreshResults.entrySet()) {
                    EndpointCollection endpoints = entry.getValue();
                    for (GremlinClient client : clientSelectors.get(entry.getKey())) {
                        logger.info("Refresh: [client: {}, endpoints: {}]", client.hashCode(), endpoints);
                        client.refreshEndpoints(endpoints);
                    }
                }
            } catch (Exception e) {
                logger.error("Error while getting cluster metadata", e);
            }
        }