当前位置: 首页>>代码示例>>Java>>正文


Java ClusterState.getCollections方法代码示例

本文整理汇总了Java中org.apache.solr.common.cloud.ClusterState.getCollections方法的典型用法代码示例。如果您正苦于以下问题:Java ClusterState.getCollections方法的具体用法?Java ClusterState.getCollections怎么用?Java ClusterState.getCollections使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.solr.common.cloud.ClusterState的用法示例。


在下文中一共展示了ClusterState.getCollections方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: printClusterStateInfo

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
protected static String printClusterStateInfo(String collection) throws Exception {
  cloudSolrClient.getZkStateReader().updateClusterState();
  String cs = null;
  ClusterState clusterState = cloudSolrClient.getZkStateReader().getClusterState();
  if (collection != null) {
    cs = clusterState.getCollection(collection).toString();
  } else {
    Map<String, DocCollection> map = new HashMap<String, DocCollection>();
    for (String coll : clusterState.getCollections())
      map.put(coll, clusterState.getCollection(coll));
    CharArr out = new CharArr();
    new JSONWriter(out, 2).write(map);
    cs = out.toString();
  }
  return cs;
}
 
开发者ID:lucidworks,项目名称:storm-solr,代码行数:17,代码来源:TestSolrCloudClusterSupport.java

示例2: printClusterStateInfo

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
protected String printClusterStateInfo(String collection) throws Exception {
  cloudClient.getZkStateReader().updateClusterState(true);
  String cs = null;
  ClusterState clusterState = cloudClient.getZkStateReader().getClusterState();
  if (collection != null) {
    cs = clusterState.getCollection(collection).toString();
  } else {
    Map<String,DocCollection> map = new HashMap<String,DocCollection>();
    for (String coll : clusterState.getCollections())
      map.put(coll, clusterState.getCollection(coll));
    CharArr out = new CharArr();
    new JSONWriter(out, 2).write(map);
    cs = out.toString();
  }
  return cs;
}
 
开发者ID:europeana,项目名称:search,代码行数:17,代码来源:AbstractFullDistribZkTestBase.java

示例3: waitForCollections

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private void waitForCollections(ZkStateReader stateReader, String... collections) throws InterruptedException, KeeperException {
  int maxIterations = 100;
  while (0 < maxIterations--) {
    stateReader.updateClusterState(true);
    final ClusterState state = stateReader.getClusterState();
    Set<String> availableCollections = state.getCollections();
    int availableCount = 0;
    for(String requiredCollection: collections) {
      if(availableCollections.contains(requiredCollection)) {
        availableCount++;
      }
      if(availableCount == collections.length) return;
      Thread.sleep(50);
    }
  }
  log.warn("Timeout waiting for collections: " + Arrays.asList(collections) + " state:" + stateReader.getClusterState());
}
 
开发者ID:europeana,项目名称:search,代码行数:18,代码来源:OverseerTest.java

示例4: getSlicesForCollections

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private Collection<Slice> getSlicesForCollections(ClusterState clusterState,
    Collection<Slice> slices, boolean activeSlices) {
  Set<String> collections = clusterState.getCollections();
  for (String collection : collections) {
    if (activeSlices) {
      slices.addAll(clusterState.getActiveSlices(collection));
    } else {
      slices.addAll(clusterState.getSlices(collection));
    }
  }
  return slices;
}
 
开发者ID:europeana,项目名称:search,代码行数:13,代码来源:SolrDispatchFilter.java

示例5: listCollections

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private void listCollections(ClusterState clusterState, NamedList results) {
  Set<String> collections = clusterState.getCollections();
  List<String> collectionList = new ArrayList<String>();
  for (String collection : collections) {
    collectionList.add(collection);
  }
  results.add("collections", collectionList);
}
 
开发者ID:europeana,项目名称:search,代码行数:9,代码来源:OverseerCollectionProcessor.java

示例6: collectStartTimes

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private void collectStartTimes(String collectionName,
      Map<String,Long> urlToTime) throws SolrServerException, IOException {
    ClusterState clusterState = getCommonCloudSolrServer().getZkStateReader()
        .getClusterState();
//    Map<String,DocCollection> collections = clusterState.getCollectionStates();
    if (clusterState.hasCollection(collectionName)) {
      Map<String,Slice> slices = clusterState.getSlicesMap(collectionName);

      Iterator<Entry<String,Slice>> it = slices.entrySet().iterator();
      while (it.hasNext()) {
        Entry<String,Slice> sliceEntry = it.next();
        Map<String,Replica> sliceShards = sliceEntry.getValue().getReplicasMap();
        Iterator<Entry<String,Replica>> shardIt = sliceShards.entrySet()
            .iterator();
        while (shardIt.hasNext()) {
          Entry<String,Replica> shardEntry = shardIt.next();
          ZkCoreNodeProps coreProps = new ZkCoreNodeProps(shardEntry.getValue());
          HttpSolrServer server = new HttpSolrServer(coreProps.getBaseUrl());
          CoreAdminResponse mcr;
          try {
            mcr = CoreAdminRequest.getStatus(coreProps.getCoreName(), server);
          } finally {
            server.shutdown();
          }
          long before = mcr.getStartTime(coreProps.getCoreName()).getTime();
          urlToTime.put(coreProps.getCoreUrl(), before);
        }
      }
    } else {
      throw new IllegalArgumentException("Could not find collection in :"
          + clusterState.getCollections());
    }
  }
 
开发者ID:europeana,项目名称:search,代码行数:34,代码来源:CollectionsAPIDistributedZkTest.java

示例7: doWork

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private void doWork() {
  
  // TODO: extract to configurable strategy class ??
  ClusterState clusterState = zkStateReader.getClusterState();
  if (clusterState != null) {
    if (lastClusterStateVersion == clusterState.getZkClusterStateVersion() && baseUrlForBadNodes.size() == 0) {
      // nothing has changed, no work to do
      return;
    }
    
    lastClusterStateVersion = clusterState.getZkClusterStateVersion();
    Set<String> collections = clusterState.getCollections();
    for (final String collection : collections) {
      DocCollection docCollection = clusterState.getCollection(collection);
      if (!docCollection.getAutoAddReplicas()) {
        continue;
      }
      if (docCollection.getReplicationFactor() == null) {
        log.debug("Skipping collection because it has no defined replicationFactor, name={}", docCollection.getName());
        continue;
      }
      log.debug("Found collection, name={} replicationFactor=", collection, docCollection.getReplicationFactor());
      
      Collection<Slice> slices = docCollection.getSlices();
      for (Slice slice : slices) {
        if (slice.getState().equals(Slice.ACTIVE)) {
          
          final Collection<DownReplica> downReplicas = new ArrayList<DownReplica>();
          
          int goodReplicas = findDownReplicasInSlice(clusterState, docCollection, slice, downReplicas);
          
          log.debug("replicationFactor={} goodReplicaCount={}", docCollection.getReplicationFactor(), goodReplicas);
          
          if (downReplicas.size() > 0 && goodReplicas < docCollection.getReplicationFactor()) {
            // badReplicaMap.put(collection, badReplicas);
            processBadReplicas(collection, downReplicas);
          } else if (goodReplicas > docCollection.getReplicationFactor()) {
            log.debug("There are too many replicas");
          }
        }
      }
    }
   
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:46,代码来源:OverseerAutoReplicaFailoverThread.java

示例8: getRemotCoreUrl

import org.apache.solr.common.cloud.ClusterState; //导入方法依赖的package包/类
private String getRemotCoreUrl(CoreContainer cores, String collectionName, String origCorename) {
  ClusterState clusterState = cores.getZkController().getClusterState();
  Collection<Slice> slices = clusterState.getSlices(collectionName);
  boolean byCoreName = false;
  if (slices == null) {
    // look by core name
    byCoreName = true;
    Set<String> collections = clusterState.getCollections();
    for (String collection : collections) {
      slices = new ArrayList<Slice>();
      slices.addAll(clusterState.getSlices(collection));
    }
  }
  
  if (slices == null || slices.size() == 0) {
    return null;
  }
  
  Set<String> liveNodes = clusterState.getLiveNodes();
  Iterator<Slice> it = slices.iterator();
  while (it.hasNext()) {
    Slice slice = it.next();
    Map<String,Replica> sliceShards = slice.getReplicasMap();
    for (ZkNodeProps nodeProps : sliceShards.values()) {
      ZkCoreNodeProps coreNodeProps = new ZkCoreNodeProps(nodeProps);
      if (liveNodes.contains(coreNodeProps.getNodeName())
          && coreNodeProps.getState().equals(ZkStateReader.ACTIVE)) {
        if (byCoreName && !collectionName.equals(coreNodeProps.getCoreName())) {
          // if it's by core name, make sure they match
          continue;
        }
        if (coreNodeProps.getBaseUrl().equals(cores.getZkController().getBaseUrl())) {
          // don't count a local core
          continue;
        }
        String coreUrl;
        if (origCorename != null) {
          coreUrl = coreNodeProps.getBaseUrl() + "/" + origCorename;
        } else {
          coreUrl = coreNodeProps.getCoreUrl();
          if (coreUrl.endsWith("/")) {
            coreUrl = coreUrl.substring(0, coreUrl.length() - 1);
          }
        }

        return coreUrl;
      }
    }
  }
  return null;
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:52,代码来源:SolrDispatchFilter.java


注:本文中的org.apache.solr.common.cloud.ClusterState.getCollections方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。