@Override public boolean apply(String input) { try { return serviceDiscovery.queryForInstances(input.replace('/', ':')).size() == 1; } catch (Exception e) { throw new ISE( "Something went wrong while finding instance with name [%s] in Service Discovery", input ); } } }
private synchronized void updateEndpoints() { try { Collection<DrillbitEndpoint> newDrillbitSet = transform( discovery.queryForInstances(serviceName), new Function<ServiceInstance<DrillbitEndpoint>, DrillbitEndpoint>() { @Override
/** {@inheritDoc} */ @Override public Collection<InetSocketAddress> getRegisteredAddresses() throws IgniteSpiException { init(); if (log.isDebugEnabled()) log.debug("Getting registered addresses from ZooKeeper IP Finder."); Collection<ServiceInstance<IgniteInstanceDetails>> serviceInstances; try { serviceInstances = discovery.queryForInstances(serviceName); } catch (Exception e) { log.warning("Error while getting registered addresses from ZooKeeper IP Finder.", e); return Collections.emptyList(); } Set<InetSocketAddress> answer = new HashSet<>(); for (ServiceInstance<IgniteInstanceDetails> si : serviceInstances) answer.add(new InetSocketAddress(si.getAddress(), si.getPort())); if (log.isInfoEnabled()) log.info("ZooKeeper IP Finder resolved addresses: " + answer); return answer; }
if (!allowDuplicateRegistrations) { try { for (ServiceInstance<IgniteInstanceDetails> sd : discovery.queryForInstances(serviceName)) registrationsToIgnore.add(new InetSocketAddress(sd.getAddress(), sd.getPort()));
try { for(String name : serviceDiscovery.queryForNames()) { for(ServiceInstance<ModelEndpoint> endpoint: serviceDiscovery.queryForInstances(name)) { ModelEndpoint ep = endpoint.getPayload(); if(LOG.isDebugEnabled()) {
public Collection<ServiceInstance<InstanceDetails>> queryForInstances(String serviceName) throws Exception{ return serviceDiscovery.queryForInstances(serviceName); }
public Collection<ServiceInstance<MetaData>> getWorkers(String serviceName) throws Exception { Collection<ServiceInstance<MetaData>> instances; ServiceDiscovery<MetaData> serviceDiscovery = ServiceUtil.getServiceDiscovery(curatorFramework, basePath); try { instances = serviceDiscovery.queryForInstances(serviceName); } catch (Exception e) { log.error(e.getMessage(), e); throw Throwables.propagate(e); } return instances; }
@Override public List<ComponentInfo> getComponents(ComponentCategory category) { try { Collection<ServiceInstance<ComponentInfo>> instances = serviceDiscovery.queryForInstances(category.toString()); List<ComponentInfo> result = new ArrayList<>(instances.size()); instances.forEach(i -> result.add(i.getPayload())); return result; } catch (Exception e) { e.printStackTrace(); } return new ArrayList<ComponentInfo>(); }
private List<ServiceInstance<ZookeeperInstance>> injectZookeeperServiceInstances( List<ServiceInstance<ZookeeperInstance>> accumulator, String name) throws Exception { Collection<ServiceInstance<ZookeeperInstance>> instances = getServiceDiscovery().queryForInstances(name); accumulator.addAll(convertCollectionToList(instances)); return accumulator; }
private Collection<ServiceInstance<ZookeeperInstance>> tryToGetInstances( String path) { try { return getServiceDiscovery() .queryForInstances(getPathWithoutRoot(path)); } catch (Exception e) { log.trace("Exception occurred while trying to retrieve instances of [" + path + "]", e); return null; } }
@GET @Path("v1/service/{name}") @Produces(MediaType.APPLICATION_JSON) public Response getAll(@PathParam("name") String name) { try { Collection<ServiceInstance<T>> instances = context.getServiceDiscovery().queryForInstances(name); return Response.ok(new ServiceInstances<T>(instances)).build(); } catch ( Exception e ) { ThreadUtils.checkInterrupted(e); log.error(String.format("Trying to get instances from service (%s)", name), e); return Response.serverError().build(); } }
public void getWorkerNames(String serviceName) throws Exception { Collection<ServiceInstance<MetaData>> instances = getWorkers(serviceName); List<ServiceInstance<MetaData>> instanceList = Lists.newArrayList(ServiceUtil.getServiceDiscovery(curatorFramework, basePath).queryForInstances(serviceName)); }
public void listInstances(ServiceDiscovery<MetaData> serviceDiscovery) throws Exception { // This shows how to query all the instances in service discovery try { Collection<String> serviceNames = serviceDiscovery.queryForNames(); for (String serviceName : serviceNames) { Collection<ServiceInstance<MetaData>> instances = serviceDiscovery.queryForInstances(serviceName); log.info("serviceName: " + serviceName); for (ServiceInstance<MetaData> instance : instances) { outputInstance(instance); } } } catch (Exception e) { /* * Something bad did happen, but carry on */ log.error(e.getMessage(), e); } }
public Iterable<DiscoveryNode> discoverNodes() { try { Collection<ServiceInstance<Void>> members = serviceDiscovery.queryForInstances(group); List<DiscoveryNode> nodes = new ArrayList<DiscoveryNode>(members.size()); for (ServiceInstance<Void> serviceInstance : members) { String host = serviceInstance.getAddress(); Integer port = serviceInstance.getPort(); Address address = new Address(host, port); SimpleDiscoveryNode node = new SimpleDiscoveryNode(address); nodes.add(node); } return nodes; } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new IllegalStateException("Error while talking to ZooKeeper", e); } catch (Exception e) { throw new IllegalStateException("Error while talking to ZooKeeper", e); } }
private static void listInstances(ServiceDiscovery<InstanceDetails> serviceDiscovery) throws Exception { // This shows how to query all the instances in service discovery try { Collection<String> serviceNames = serviceDiscovery.queryForNames(); System.out.println(serviceNames.size() + " type(s)"); for (String serviceName : serviceNames) { Collection<ServiceInstance<InstanceDetails>> instances = serviceDiscovery.queryForInstances(serviceName); System.out.println(serviceName); for (ServiceInstance<InstanceDetails> instance : instances) { outputInstance(instance); } } } finally { CloseableUtils.closeQuietly(serviceDiscovery); } }
private void assertNoWorkersAdvertised() throws Exception { Collection<ServiceInstance<WorkerMetadata>> instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(0, instances.size()); }
private void assertWorkerAdvertised(WorkerMetadata workerMetadata) throws Exception { Collection<ServiceInstance<WorkerMetadata>> instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(1, instances.size()); assertEquals(workerMetadata.getWorkerId(), instances.iterator().next().getPayload().getWorkerId()); }
@Test public void testDeAdvertiseAvailability() throws Exception { workerAdvertiser.initListenInfo("127.0.0.1", 12345); workerAdvertiser.advertiseAvailability(); Collection<ServiceInstance<WorkerMetadata>> instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(1, instances.size()); workerAdvertiser.deAdvertiseAvailability(); instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(0, instances.size()); } }
/** * @return the metadata loaded from ZK */ private WorkerMetadata advertiseWorker() throws Exception { workerAdvertiser.initListenInfo(host, port); workerAdvertiser.advertiseAvailability(); Collection<ServiceInstance<WorkerMetadata>> instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(1, instances.size()); WorkerMetadata workerMetadata = instances.iterator().next().getPayload(); assertEquals(workerAdvertiser.getWorkerId(), workerMetadata.getWorkerId()); return workerMetadata; }
@Test public void testAdvertiseAvailability() throws Exception { workerAdvertiser.initListenInfo("127.0.0.1", 12345); workerAdvertiser.advertiseAvailability(); Collection<ServiceInstance<WorkerMetadata>> instances = serviceDiscovery.queryForInstances(zookeeperConfig.getWorkerServiceName()); assertEquals(1, instances.size()); WorkerMetadata workerMetadata = instances.iterator().next().getPayload(); assertEquals(workerAdvertiser.getWorkerId(), workerMetadata.getWorkerId()); }