@Inject public DiscoveryNodeManager( @ServiceType("presto") ServiceSelector serviceSelector, NodeInfo nodeInfo, FailureDetector failureDetector, NodeVersion expectedNodeVersion, @ForNodeManager HttpClient httpClient, InternalCommunicationConfig internalCommunicationConfig) { this.serviceSelector = requireNonNull(serviceSelector, "serviceSelector is null"); this.failureDetector = requireNonNull(failureDetector, "failureDetector is null"); this.expectedNodeVersion = requireNonNull(expectedNodeVersion, "expectedNodeVersion is null"); this.httpClient = requireNonNull(httpClient, "httpClient is null"); this.nodeStateUpdateExecutor = newSingleThreadScheduledExecutor(threadsNamed("node-state-poller-%s")); this.nodeStateEventExecutor = newCachedThreadPool(threadsNamed("node-state-events-%s")); this.httpsRequired = internalCommunicationConfig.isHttpsRequired(); this.currentNode = findCurrentNode( serviceSelector.selectAllServices(), requireNonNull(nodeInfo, "nodeInfo is null").getNodeId(), expectedNodeVersion, httpsRequired); refreshNodesInternal(); }
@VisibleForTesting void updateMonitoredServices() Set<ServiceDescriptor> online = selector.selectAllServices().stream() .filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
Set<ServiceDescriptor> services = serviceSelector.selectAllServices().stream() .filter(service -> !failureDetector.getFailed().contains(service)) .collect(toImmutableSet());
assertEquals(selector.selectAllServices().size(), 1);
@Override public void run() { try { updateProcessors(selector.selectAllServices()); } catch (Throwable e) { log.warn(e, "Error refreshing batch processors"); } } }, 0, updateInterval.toMillis(), TimeUnit.MILLISECONDS);
@Override public List<ServiceDescriptor> selectAllServices() { return merge(announcer.getServiceAnnouncements(), selector.selectAllServices()); }
@Override public List<ServiceDescriptor> selectAllServices() { return merge(announcer.getServiceAnnouncements(), selector.selectAllServices()); }
@Override public List<URI> selectHttpService() List<ServiceDescriptor> serviceDescriptors = Lists.newArrayList(serviceSelector.selectAllServices()); if (serviceDescriptors.isEmpty()) { return ImmutableList.of();
@Override public List<URI> selectHttpService() List<ServiceDescriptor> serviceDescriptors = new ArrayList<>(serviceSelector.selectAllServices()); if (serviceDescriptors.isEmpty()) { return ImmutableList.of();
@Override public List<URI> selectHttpService() List<ServiceDescriptor> serviceDescriptors = Lists.newArrayList(serviceSelector.selectAllServices()); if (serviceDescriptors.isEmpty()) { return ImmutableList.of();
@VisibleForTesting void updateMonitoredServices() Set<ServiceDescriptor> online = selector.selectAllServices().stream() .filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
@VisibleForTesting void updateMonitoredServices() Set<ServiceDescriptor> online = selector.selectAllServices().stream() .filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
@VisibleForTesting void updateMonitoredServices() Set<ServiceDescriptor> online = selector.selectAllServices().stream() .filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
@Inject public DiscoveryNodeManager( @ServiceType("presto") ServiceSelector serviceSelector, NodeInfo nodeInfo, FailureDetector failureDetector, NodeVersion expectedNodeVersion, @ForNodeManager HttpClient httpClient, InternalCommunicationConfig internalCommunicationConfig) { this.serviceSelector = requireNonNull(serviceSelector, "serviceSelector is null"); this.failureDetector = requireNonNull(failureDetector, "failureDetector is null"); this.expectedNodeVersion = requireNonNull(expectedNodeVersion, "expectedNodeVersion is null"); this.httpClient = requireNonNull(httpClient, "httpClient is null"); this.nodeStateUpdateExecutor = newSingleThreadScheduledExecutor(threadsNamed("node-state-poller-%s")); this.nodeStateEventExecutor = newCachedThreadPool(threadsNamed("node-state-events-%s")); this.httpsRequired = internalCommunicationConfig.isHttpsRequired(); this.currentNode = findCurrentNode( serviceSelector.selectAllServices(), requireNonNull(nodeInfo, "nodeInfo is null").getNodeId(), expectedNodeVersion, httpsRequired); refreshNodesInternal(); }
@Inject public DiscoveryNodeManager( @ServiceType("presto") ServiceSelector serviceSelector, NodeInfo nodeInfo, FailureDetector failureDetector, NodeVersion expectedNodeVersion, @ForNodeManager HttpClient httpClient, InternalCommunicationConfig internalCommunicationConfig) { this.serviceSelector = requireNonNull(serviceSelector, "serviceSelector is null"); this.failureDetector = requireNonNull(failureDetector, "failureDetector is null"); this.expectedNodeVersion = requireNonNull(expectedNodeVersion, "expectedNodeVersion is null"); this.httpClient = requireNonNull(httpClient, "httpClient is null"); this.nodeStateUpdateExecutor = newSingleThreadScheduledExecutor(threadsNamed("node-state-poller-%s")); this.nodeStateEventExecutor = newCachedThreadPool(threadsNamed("node-state-events-%s")); this.httpsRequired = internalCommunicationConfig.isHttpsRequired(); this.currentNode = findCurrentNode( serviceSelector.selectAllServices(), requireNonNull(nodeInfo, "nodeInfo is null").getNodeId(), expectedNodeVersion, httpsRequired); refreshNodesInternal(); }
for (ServiceDescriptor serviceDescriptor : serviceSelector.selectAllServices()) {
String id = createResponse.getValue().get("id").toString(); List<ServiceDescriptor> services = selectorFor("apple", "red").selectAllServices(); assertEquals(services.size(), 1); assertTrue(selectorFor("apple", "red").selectAllServices().isEmpty());
List<ServiceDescriptor> services = selectorFor("apple", "red").selectAllServices(); assertEquals(services.size(), 1); assertTrue(selectorFor("apple", "red").selectAllServices().isEmpty());
assertEquals(selector.selectAllServices().size(), 1);
assertEquals(selector.selectAllServices().size(), 1);