@VisibleForTesting void updateMonitoredServices() Set<ServiceDescriptor> online = selector.selectAllServices().stream() .filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
for (ServiceDescriptor serviceDescriptor : serviceSelector.selectAllServices()) { throw lastException; throw new SQLException(String.format("No mysql servers of type '%s' available in pool '%s'", serviceSelector.getType(), serviceSelector.getPool()));
private void assertCanCreateServiceSelector(Injector injector, String expectedType, String expectedPool) { ServiceSelector actualServiceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(expectedType))); assertNotNull(actualServiceSelector); assertEquals(actualServiceSelector.getType(), expectedType); assertEquals(actualServiceSelector.getPool(), expectedPool); }
@Override public String getType() { return serviceSelector.getType(); }
@Override public String getPool() { return selector.getPool(); }
private List<ListenableFuture<?>> initiateRefresh() { ImmutableList.Builder<ListenableFuture<?>> futures = ImmutableList.builder(); for (ServiceSelector selector : serviceSelectors) { futures.add(selector.refresh()); } return futures.build(); } }
for (ServiceDescriptor serviceDescriptor : serviceSelector.selectAllServices()) { throw lastException; throw new SQLException(String.format("No mysql servers of type '%s' available in pool '%s'", serviceSelector.getType(), serviceSelector.getPool()));
private void assertCanCreateServiceSelector(Injector injector, String expectedType, String expectedPool) { ServiceSelector actualServiceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(expectedType))); Assert.assertNotNull(actualServiceSelector); Assert.assertEquals(actualServiceSelector.getType(), expectedType); Assert.assertEquals(actualServiceSelector.getPool(), expectedPool); }
@Override public String getType() { return selector.getType(); }
@Override public String getPool() { return serviceSelector.getPool(); }
private List<ListenableFuture<?>> initiateRefresh() { ImmutableList.Builder<ListenableFuture<?>> futures = ImmutableList.builder(); for (ServiceSelector selector : serviceSelectors) { futures.add(selector.refresh()); } return futures.build(); } }
@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()) { throw lastException; throw new SQLException(format("No PostgreSQL servers of type '%s' available in pool '%s'", serviceSelector.getType(), serviceSelector.getPool()));
private void assertCanCreateServiceSelector(Injector injector, String expectedType, String expectedPool) { ServiceSelector actualServiceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(expectedType))); assertNotNull(actualServiceSelector); assertEquals(actualServiceSelector.getType(), expectedType); assertEquals(actualServiceSelector.getPool(), expectedPool); }
@Override public String getType() { return selector.getType(); }
@Override public String getPool() { return selector.getPool(); }
@Override public ListenableFuture<List<ServiceDescriptor>> refresh() { return Futures.transform(selector.refresh(), (Function<List<ServiceDescriptor>, List<ServiceDescriptor>>) descriptors -> merge(announcer.getServiceAnnouncements(), descriptors)); }
Set<ServiceDescriptor> services = serviceSelector.selectAllServices().stream() .filter(service -> !failureDetector.getFailed().contains(service)) .collect(toImmutableSet());
for (ServiceDescriptor serviceDescriptor : serviceSelector.selectAllServices()) { throw lastException; throw new SQLException(format("No PostgreSQL servers of type '%s' available in pool '%s'", serviceSelector.getType(), serviceSelector.getPool()));
@Override public String getType() { return serviceSelector.getType(); }