This is the ConsulIpFinder (mostly)

``` 
    @Override 
    public Collection<InetSocketAddress> getRegisteredAddresses() throws
IgniteSpiException { 
        List<InetSocketAddress> remoteAddresses = getAddressesFromConsul(); 
        Collection<InetSocketAddress> addresses =
mergeRemoteAndLocalAddresses(remoteAddresses); 
        return addresses; 
    } 

   @Override 
    public void registerAddresses(Collection<InetSocketAddress> addrs)
throws IgniteSpiException { 
        locallyRegisteredAddresses.addAll(addrs); 
    } 

   @Override 
    public void unregisterAddresses(Collection<InetSocketAddress> addrs)
throws IgniteSpiException { 
        locallyRegisteredAddresses.removeAll(addrs); 
    } 

    private Collection<InetSocketAddress>
mergeRemoteAndLocalAddresses(List<InetSocketAddress> remoteAddresses) { 
        Set<InetSocketAddress> addresses = new HashSet<>(); 
        if (remoteAddresses != null) { 
            addresses.addAll(remoteAddresses); 
        } 
        addresses.addAll(locallyRegisteredAddresses); 
        return remoteAddresses; 
    } 

    private List<InetSocketAddress> getAddressesFromConsul() { 
       try { 
            HttpUrl.Builder urlBuilder =
HttpUrl.parse(consulUrl).newBuilder(); 
            urlBuilder.addQueryParameter("passing", null); 
            String url = urlBuilder.build().toString(); 

            Request request = new Request.Builder().url(url).build(); 
            Response response = okHttpClient.newCall(request).execute(); 
            if (!response.isSuccessful()) { 
                  throw new IOException("event=errorResponseCodeReceived,
response=" + response); 
            } 

            String responseData = response.body().string(); 
            JsonNode root = objectMapper.readTree(responseData); 

            return processConsulJson(root); 

        } catch (IOException ee) { 
            log.error("event=ErrorReadingFromConsul, consulUrl={}",
consulUrl, ee); 
            return Collections.emptyList(); 
        } 
    } 
``` 



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Race-Condition-at-Grid-Startup-tp13038p13046.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to