gpt4 book ai didi

org.apache.pulsar.zookeeper.ZooKeeperChildrenCache.get()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-17 19:15:31 26 4
gpt4 key购买 nike

本文整理了Java中org.apache.pulsar.zookeeper.ZooKeeperChildrenCache.get()方法的一些代码示例,展示了ZooKeeperChildrenCache.get()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperChildrenCache.get()方法的具体详情如下:
包路径:org.apache.pulsar.zookeeper.ZooKeeperChildrenCache
类名称:ZooKeeperChildrenCache
方法名:get

ZooKeeperChildrenCache.get介绍

暂无

代码示例

代码示例来源:origin: org.apache.pulsar/pulsar-broker

@Override
public Set<String> getAvailableBrokers() throws Exception {
  return this.availableActiveBrokers.get();
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

@Override
public Set<String> getAvailableBrokers() {
  try {
    return availableActiveBrokers.get();
  } catch (Exception e) {
    log.warn("Error when trying to get active brokers", e);
    return loadData.getBrokerData().keySet();
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

@GET
@ApiOperation(value = "Get the list of all the Pulsar clusters.", response = String.class, responseContainer = "Set")
@ApiResponses(value = { @ApiResponse(code = 403, message = "Don't have admin permission") })
public Set<String> getClusters() throws Exception {
  try {
    Set<String> clusters = clustersListCache().get();
    // Remove "global" cluster from returned list
    clusters.remove(Constants.GLOBAL_CLUSTER);
    return clusters;
  } catch (Exception e) {
    log.error("[{}] Failed to get clusters list", clientAppId(), e);
    throw new RestException(e);
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

private Map<Long, Set<ResourceUnit>> getAvailableBrokers(ServiceUnitId serviceUnitId) throws Exception {
  Map<Long, Set<ResourceUnit>> availableBrokers = sortedRankings.get();
  // Normal case: we are the leader and we do have load reports information available
  if (availableBrokers.isEmpty()) {
    // Create a map with all available brokers with no load information
    Set<String> activeBrokers = availableActiveBrokers.get(LOADBALANCE_BROKERS_ROOT);
    List<String> brokersToShuffle = new ArrayList<>(activeBrokers);
    Collections.shuffle(brokersToShuffle);
    activeBrokers = new HashSet<>(brokersToShuffle);
    availableBrokers = Maps.newTreeMap();
    for (String broker : activeBrokers) {
      ResourceUnit resourceUnit = new SimpleResourceUnit(String.format("http://%s", broker),
          new PulsarResourceDescription());
      availableBrokers.computeIfAbsent(0L, key -> Sets.newTreeSet()).add(resourceUnit);
    }
    log.info("Choosing at random from broker list: [{}]", availableBrokers.values());
  }
  return availableBrokers;
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

public List<String> getListOfPersistentTopics(NamespaceName namespaceName) throws Exception {
  List<String> topics = Lists.newArrayList();
  // For every topic there will be a managed ledger created.
  try {
    String path = String.format("/managed-ledgers/%s/persistent", namespaceName);
    if (LOG.isDebugEnabled()) {
      LOG.debug("Getting children from managed-ledgers now: {}", path);
    }
    for (String topic : pulsar.getLocalZkCacheService().managedLedgerListCache().get(path)) {
      topics.add(String.format("persistent://%s/%s", namespaceName, Codec.decode(topic)));
    }
  } catch (KeeperException.NoNodeException e) {
    // NoNode means there are no persistent topics for this namespace
  }
  topics.sort(null);
  return topics;
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

protected Set<String> clusters() {
  try {
    Set<String> clusters = pulsar().getConfigurationCache().clustersListCache().get();
    // Remove "global" cluster from returned list
    clusters.remove(Constants.GLOBAL_CLUSTER);
    return clusters;
  } catch (Exception e) {
    throw new RestException(e);
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

activeBrokers = availableActiveBrokers.get();

代码示例来源:origin: org.apache.pulsar/pulsar-broker

private void updateRanking() {
  try {
    synchronized (currentLoadReports) {
      currentLoadReports.clear();
      Set<String> activeBrokers = availableActiveBrokers.get();
      for (String broker : activeBrokers) {
        try {
          String key = String.format("%s/%s", LOADBALANCE_BROKERS_ROOT, broker);
          LoadReport lr = loadReportCacheZk.get(key)
              .orElseThrow(() -> new KeeperException.NoNodeException());
          ResourceUnit ru = new SimpleResourceUnit(String.format("http://%s", lr.getName()),
              fromLoadReport(lr));
          this.currentLoadReports.put(ru, lr);
        } catch (Exception e) {
          log.warn("Error reading load report from Cache for broker - [{}], [{}]", broker, e);
        }
      }
      updateRealtimeResourceQuota();
      doLoadRanking();
    }
  } catch (Exception e) {
    log.warn("Error reading active brokers list from zookeeper while re-ranking load reports [{}]", e);
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

@GET
@Path("/{cluster}/failureDomains")
@ApiOperation(value = "Get the cluster failure domains", response = FailureDomain.class, responseContainer = "Map")
@ApiResponses(value = { @ApiResponse(code = 403, message = "Don't have admin permission") })
public Map<String, FailureDomain> getFailureDomains(@PathParam("cluster") String cluster) throws Exception {
  validateSuperUserAccess();
  Map<String, FailureDomain> domains = Maps.newHashMap();
  try {
    final String failureDomainRootPath = pulsar().getConfigurationCache().CLUSTER_FAILURE_DOMAIN_ROOT;
    for (String domainName : failureDomainListCache().get()) {
      try {
        Optional<FailureDomain> domain = failureDomainCache()
            .get(joinPath(failureDomainRootPath, domainName));
        if (domain.isPresent()) {
          domains.put(domainName, domain.get());
        }
      } catch (Exception e) {
        log.warn("Failed to get domain {}", domainName, e);
      }
    }
  } catch (KeeperException.NoNodeException e) {
    log.warn("[{}] Failure-domain is not configured for cluster {}", clientAppId(), cluster, e);
    return Collections.emptyMap();
  } catch (Exception e) {
    log.error("[{}] Failed to get failure-domains for cluster {}", clientAppId(), cluster, e);
    throw new RestException(e);
  }
  return domains;
}

代码示例来源:origin: org.apache.pulsar/pulsar-broker

try {
  final String failureDomainRootPath = pulsar().getConfigurationCache().CLUSTER_FAILURE_DOMAIN_ROOT;
  for (String domainName : failureDomainListCache().get()) {
    if (inputDomainName.equals(domainName)) {
      continue;

代码示例来源:origin: org.apache.pulsar/pulsar-broker

private void refreshBrokerToFailureDomainMap() {
    if (!pulsar.getConfiguration().isFailureDomainsEnabled()) {
      return;
    }
    final String clusterDomainRootPath = pulsar.getConfigurationCache().CLUSTER_FAILURE_DOMAIN_ROOT;
    try {
      synchronized (brokerToFailureDomainMap) {
        Map<String, String> tempBrokerToFailureDomainMap = Maps.newHashMap();
        for (String domainName : pulsar.getConfigurationCache().failureDomainListCache().get()) {
          try {
            Optional<FailureDomain> domain = pulsar.getConfigurationCache().failureDomainCache()
                .get(clusterDomainRootPath + "/" + domainName);
            if (domain.isPresent()) {
              for (String broker : domain.get().brokers) {
                tempBrokerToFailureDomainMap.put(broker, domainName);
              }
            }
          } catch (Exception e) {
            log.warn("Failed to get domain {}", domainName, e);
          }
        }
        this.brokerToFailureDomainMap = tempBrokerToFailureDomainMap;
      }
      log.info("Cluster domain refreshed {}", brokerToFailureDomainMap);
    } catch (Exception e) {
      log.warn("Failed to get domain-list for cluster {}", e.getMessage());
    }
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-proxy

/**
 * Initialize ZooKeeper session and creates broker cache list
 *
 * @param zookeeperServers
 * @throws Exception
 */
public ZookeeperCacheLoader(ZooKeeperClientFactory factory, String zookeeperServers, int zookeeperSessionTimeoutMs) throws Exception {
  this.zkClient = factory.create(zookeeperServers, SessionType.AllowReadOnly, zookeeperSessionTimeoutMs).get();
  this.localZkCache = new LocalZooKeeperCache(zkClient, this.orderedExecutor);
  this.brokerInfo = new ZooKeeperDataCache<LoadManagerReport>(localZkCache) {
    @Override
    public LoadManagerReport deserialize(String key, byte[] content) throws Exception {
      return ObjectMapperFactory.getThreadLocal().readValue(content, LoadManagerReport.class);
    }
  };
  this.availableBrokersCache = new ZooKeeperChildrenCache(getLocalZkCache(), LOADBALANCE_BROKERS_ROOT);
  this.availableBrokersCache.registerListener((path, brokerNodes, stat) -> {
    try {
      updateBrokerList(brokerNodes);
    } catch (Exception e) {
      log.warn("Error updating broker info after broker list changed.", e);
    }
  });
  // Do initial fetch of brokers list
  try {
    updateBrokerList(availableBrokersCache.get());
  } catch (NoNodeException nne) { // can happen if no broker started yet
    updateBrokerList(Collections.emptySet());
  }
}

代码示例来源:origin: org.apache.pulsar/pulsar-discovery-service

updateBrokerList(availableBrokersCache.get());

代码示例来源:origin: org.apache.pulsar/pulsar-broker

protected List<String> internalGetList() {
  validateAdminAccessForTenant(namespaceName.getTenant());
  // Validate that namespace exists, throws 404 if it doesn't exist
  try {
    policiesCache().get(path(POLICIES, namespaceName.toString()));
  } catch (KeeperException.NoNodeException e) {
    log.warn("[{}] Failed to get topic list {}: Namespace does not exist", clientAppId(), namespaceName);
    throw new RestException(Status.NOT_FOUND, "Namespace does not exist");
  } catch (Exception e) {
    log.error("[{}] Failed to get topic list {}", clientAppId(), namespaceName, e);
    throw new RestException(e);
  }
  List<String> topics = Lists.newArrayList();
  try {
    String path = String.format("/managed-ledgers/%s/%s", namespaceName.toString(), domain());
    for (String topic : managedLedgerListCache().get(path)) {
      if (domain().equals(TopicDomain.persistent.toString())) {
        topics.add(TopicName.get(domain(), namespaceName, decode(topic)).toString());
      }
    }
  } catch (KeeperException.NoNodeException e) {
    // NoNode means there are no topics in this domain for this namespace
  } catch (Exception e) {
    log.error("[{}] Failed to get topics list for namespace {}", clientAppId(), namespaceName, e);
    throw new RestException(e);
  }
  topics.sort(null);
  return topics;
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com