gpt4 book ai didi

org.apache.solr.common.cloud.ZkStateReader.forceUpdateCollection()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-15 10:48:49 25 4
gpt4 key购买 nike

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

ZkStateReader.forceUpdateCollection介绍

[英]Forcibly refresh a collection's internal state from ZK. Try to avoid having to resort to this when a better design is possible.
[中]从ZK强制刷新集合的内部状态。当一个更好的设计是可能的时,尽量避免求助于此。

代码示例

代码示例来源:origin: apache/atlas

/**
 * Checks if the collection has already been created in Solr.
 */
private static boolean checkIfCollectionExists(CloudSolrClient server, String collection) throws KeeperException, InterruptedException {
  final ZkStateReader zkStateReader = server.getZkStateReader();
  zkStateReader.forceUpdateCollection(collection);
  final ClusterState clusterState = zkStateReader.getClusterState();
  return clusterState.getCollectionOrNull(collection) != null;
}

代码示例来源:origin: org.apache.solr/solr-test-framework

protected void logReplicaTypesReplicationInfo(String collectionName, ZkStateReader zkStateReader) throws KeeperException, InterruptedException, IOException {
 log.info("## Collecting extra Replica.Type information of the cluster");
 zkStateReader.updateLiveNodes();
 StringBuilder builder = new StringBuilder();
 zkStateReader.forceUpdateCollection(collectionName);
 DocCollection collection = zkStateReader.getClusterState().getCollection(collectionName);
 for(Slice s:collection.getSlices()) {
  Replica leader = s.getLeader();
  for (Replica r:s.getReplicas()) {
   if (!r.isActive(zkStateReader.getClusterState().getLiveNodes())) {
    builder.append(String.format(Locale.ROOT, "Replica %s not in liveNodes or is not active%s", r.getName(), System.lineSeparator()));
    continue;
   }
   if (r.equals(leader)) {
    builder.append(String.format(Locale.ROOT, "Replica %s is leader%s", r.getName(), System.lineSeparator()));
   }
   logReplicationDetails(r, builder);
  }
 }
 log.info("Summary of the cluster: " + builder.toString());
}

代码示例来源:origin: apache/atlas

zkStateReader.forceUpdateCollection(collection);
final ClusterState clusterState = zkStateReader.getClusterState();
final Map<String, Slice> slices = clusterState.getCollection(collection).getSlicesMap();

代码示例来源:origin: org.apache.solr/solr-test-framework

private int checkIfKillIsLegal(String sliceName, int numActive) throws KeeperException, InterruptedException {
 for (CloudJettyRunner cloudJetty : shardToJetty.get(sliceName)) {
  
  // get latest cloud state
  zkStateReader.forceUpdateCollection(collection);
  
  DocCollection docCollection = zkStateReader.getClusterState().getCollection(collection);
  
  Slice slice = docCollection.getSlice(sliceName);
  
  ZkNodeProps props = slice.getReplicasMap().get(cloudJetty.coreNodeName);
  if (props == null) {
   throw new RuntimeException("shard name " + cloudJetty.coreNodeName + " not found in " + slice.getReplicasMap().keySet());
  }
  
  final Replica.State state = Replica.State.getState(props.getStr(ZkStateReader.STATE_PROP));
  final String nodeName = props.getStr(ZkStateReader.NODE_NAME_PROP);
  
  if (cloudJetty.jetty.isRunning()
    && state == Replica.State.ACTIVE
    && zkStateReader.getClusterState().liveNodesContain(nodeName)) {
   numActive++;
  }
 }
 return numActive;
}

代码示例来源:origin: org.apache.solr/solr-test-framework

protected static void assertAllActive(String collection, ZkStateReader zkStateReader)
  throws KeeperException, InterruptedException {
  zkStateReader.forceUpdateCollection(collection);
  ClusterState clusterState = zkStateReader.getClusterState();
  final DocCollection docCollection = clusterState.getCollectionOrNull(collection);
  if (docCollection == null || docCollection.getSlices() == null) {
   throw new IllegalArgumentException("Cannot find collection:" + collection);
  }
  
  Map<String,Slice> slices = docCollection.getSlicesMap();
  for (Map.Entry<String,Slice> entry : slices.entrySet()) {
   Slice slice = entry.getValue();
   if (slice.getState() != Slice.State.ACTIVE) {
    fail("Not all shards are ACTIVE - found a shard " + slice.getName() + " that is: " + slice.getState());
   }
   Map<String,Replica> shards = slice.getReplicasMap();
   for (Map.Entry<String,Replica> shard : shards.entrySet()) {
    Replica replica = shard.getValue();
    if (replica.getState() != Replica.State.ACTIVE) {
     fail("Not all replicas are ACTIVE - found a replica " + replica.getName() + " that is: " + replica.getState());
    }
   }
  }
}

代码示例来源:origin: org.apache.solr/solr-test-framework

private boolean canKillIndexer(String sliceName) throws KeeperException, InterruptedException {
 int numIndexersFoundInShard = 0;
 for (CloudJettyRunner cloudJetty : shardToJetty.get(sliceName)) {
  
  // get latest cloud state
  zkStateReader.forceUpdateCollection(collection);
  
  DocCollection docCollection = zkStateReader.getClusterState().getCollection(collection);
  
  Slice slice = docCollection.getSlice(sliceName);
  
  ZkNodeProps props = slice.getReplicasMap().get(cloudJetty.coreNodeName);
  if (props == null) {
   throw new RuntimeException("shard name " + cloudJetty.coreNodeName + " not found in " + slice.getReplicasMap().keySet());
  }
  
  final Replica.State state = Replica.State.getState(props.getStr(ZkStateReader.STATE_PROP));
  final Replica.Type replicaType = Replica.Type.valueOf(props.getStr(ZkStateReader.REPLICA_TYPE));
  final String nodeName = props.getStr(ZkStateReader.NODE_NAME_PROP);
  
  if (cloudJetty.jetty.isRunning()
    && state == Replica.State.ACTIVE
    && (replicaType == Replica.Type.TLOG || replicaType == Replica.Type.NRT) 
    && zkStateReader.getClusterState().liveNodesContain(nodeName)) {
   numIndexersFoundInShard++;
  }
 }
 return numIndexersFoundInShard > 1;
}

代码示例来源:origin: org.apache.solr/solr-test-framework

protected void updateMappingsFromZk(List<JettySolrRunner> jettys, List<SolrClient> clients, boolean allowOverSharding) throws Exception {
 ZkStateReader zkStateReader = cloudClient.getZkStateReader();
 zkStateReader.forceUpdateCollection(DEFAULT_COLLECTION);
 cloudJettys.clear();
 shardToJetty.clear();

代码示例来源:origin: org.apache.solr/solr-test-framework

zkr.forceUpdateCollection(testCollectionName); // force the state to be fresh

代码示例来源:origin: org.apache.solr/solr-test-framework

static void waitForNewLeader(CloudSolrClient cloudClient, String shardName, Replica oldLeader, TimeOut timeOut)
  throws Exception {
 log.info("Will wait for a node to become leader for {} secs", timeOut.timeLeft(SECONDS));
 ZkStateReader zkStateReader = cloudClient.getZkStateReader();
 zkStateReader.forceUpdateCollection(DEFAULT_COLLECTION);
 for (; ; ) {
  ClusterState clusterState = zkStateReader.getClusterState();
  DocCollection coll = clusterState.getCollection("collection1");
  Slice slice = coll.getSlice(shardName);
  if (slice.getLeader() != null && !slice.getLeader().equals(oldLeader) && slice.getLeader().getState() == Replica.State.ACTIVE) {
   log.info("Old leader {}, new leader {}. New leader got elected in {} ms", oldLeader, slice.getLeader(),timeOut.timeElapsed(MILLISECONDS) );
   break;
  }
  if (timeOut.hasTimedOut()) {
   Diagnostics.logThreadDumps("Could not find new leader in specified timeout");
   zkStateReader.getZkClient().printLayoutToStdOut();
   fail("Could not find new leader even after waiting for " + timeOut.timeElapsed(MILLISECONDS) + "ms");
  }
  Thread.sleep(100);
 }
}

代码示例来源:origin: org.apache.solr/solr-test-framework

protected String printClusterStateInfo(String collection) throws Exception {
 cloudClient.getZkStateReader().forceUpdateCollection(collection);
 String cs = null;
 ClusterState clusterState = cloudClient.getZkStateReader().getClusterState();
 if (collection != null) {
  cs = clusterState.getCollection(collection).toString();
 } else {
  Map<String,DocCollection> map = clusterState.getCollectionsMap();
  CharArr out = new CharArr();
  new JSONWriter(out, 2).write(map);
  cs = out.toString();
 }
 return cs;
}

代码示例来源:origin: org.apache.solr/solr-test-framework

protected void waitForReplicationFromReplicas(String collectionName, ZkStateReader zkStateReader, TimeOut timeout) throws KeeperException, InterruptedException, IOException {
 zkStateReader.forceUpdateCollection(collectionName);
 DocCollection collection = zkStateReader.getClusterState().getCollection(collectionName);
 Map<String, CoreContainer> containers = new HashMap<>();

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