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


Java ZkNodeProps.getInt方法代码示例

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


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

示例1: buildCollection

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private ClusterState buildCollection(ClusterState clusterState, ZkNodeProps message) {
  String collection = message.getStr("name");
  log.info("building a new collection: " + collection);
  if(clusterState.hasCollection(collection) ){
    log.warn("Collection {} already exists. exit" ,collection);
    return clusterState;
  }

  ArrayList<String> shardNames = new ArrayList<>();

  if(ImplicitDocRouter.NAME.equals( message.getStr("router.name",DocRouter.DEFAULT_NAME))){
    getShardNames(shardNames,message.getStr("shards",DocRouter.DEFAULT_NAME));
  } else {
    int numShards = message.getInt(ZkStateReader.NUM_SHARDS_PROP, -1);
    if(numShards<1) throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,"numShards is a required parameter for 'compositeId' router");
    getShardNames(numShards, shardNames);
  }

  return createCollection(clusterState,collection,shardNames,message);
}
 
开发者ID:europeana,项目名称:search,代码行数:21,代码来源:Overseer.java

示例2: buildCollection

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private ClusterState buildCollection(ClusterState clusterState, ZkNodeProps message) {
  String collection = message.getStr("name");
  log.info("building a new collection: " + collection);
  if(clusterState.hasCollection(collection) ){
    log.warn("Collection {} already exists. exit" ,collection);
    return clusterState;
  }

  ArrayList<String> shardNames = new ArrayList<String>();

  if(ImplicitDocRouter.NAME.equals( message.getStr("router.name",DocRouter.DEFAULT_NAME))){
    getShardNames(shardNames,message.getStr("shards",DocRouter.DEFAULT_NAME));
  } else {
    int numShards = message.getInt(ZkStateReader.NUM_SHARDS_PROP, -1);
    if(numShards<1) throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,"numShards is a required parameter for 'compositeId' router");
    getShardNames(numShards, shardNames);
  }

  return createCollection(clusterState,collection,shardNames,message);
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:21,代码来源:Overseer.java

示例3: migrate

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private void migrate(ClusterState clusterState, ZkNodeProps message, NamedList results) throws KeeperException, InterruptedException {
  String sourceCollectionName = message.getStr("collection");
  String splitKey = message.getStr("split.key");
  String targetCollectionName = message.getStr("target.collection");
  int timeout = message.getInt("forward.timeout", 10 * 60) * 1000;

  DocCollection sourceCollection = clusterState.getCollection(sourceCollectionName);
  if (sourceCollection == null) {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Unknown source collection: " + sourceCollectionName);
  }
  DocCollection targetCollection = clusterState.getCollection(targetCollectionName);
  if (targetCollection == null) {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Unknown target collection: " + sourceCollectionName);
  }
  if (!(sourceCollection.getRouter() instanceof CompositeIdRouter))  {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Source collection must use a compositeId router");
  }
  if (!(targetCollection.getRouter() instanceof CompositeIdRouter))  {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Target collection must use a compositeId router");
  }
  CompositeIdRouter sourceRouter = (CompositeIdRouter) sourceCollection.getRouter();
  CompositeIdRouter targetRouter = (CompositeIdRouter) targetCollection.getRouter();
  Collection<Slice> sourceSlices = sourceRouter.getSearchSlicesSingle(splitKey, null, sourceCollection);
  if (sourceSlices.isEmpty()) {
    throw new SolrException(ErrorCode.BAD_REQUEST,
        "No active slices available in source collection: " + sourceCollection + "for given split.key: " + splitKey);
  }
  Collection<Slice> targetSlices = targetRouter.getSearchSlicesSingle(splitKey, null, targetCollection);
  if (targetSlices.isEmpty()) {
    throw new SolrException(ErrorCode.BAD_REQUEST,
        "No active slices available in target collection: " + targetCollection + "for given split.key: " + splitKey);
  }

  for (Slice sourceSlice : sourceSlices) {
    for (Slice targetSlice : targetSlices) {
      log.info("Migrating source shard: {} to target shard: {} for split.key = " + splitKey, sourceSlice, targetSlice);
      migrateKey(clusterState, sourceCollection, sourceSlice, targetCollection, targetSlice, splitKey, timeout, results);
    }
  }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:41,代码来源:OverseerCollectionProcessor.java

示例4: createShard

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private boolean createShard(ClusterState clusterState, ZkNodeProps message, NamedList results)
    throws KeeperException, InterruptedException {
  log.info("Create shard invoked: {}", message);
  String collectionName = message.getStr(COLLECTION_PROP);
  String shard = message.getStr(SHARD_ID_PROP);
  if(collectionName == null || shard ==null)
    throw new SolrException(ErrorCode.BAD_REQUEST, "'collection' and 'shard' are required parameters" );
  int numSlices = 1;

  ShardHandler shardHandler = shardHandlerFactory.getShardHandler();
  DocCollection collection = clusterState.getCollection(collectionName);
  int maxShardsPerNode = collection.getInt(ZkStateReader.MAX_SHARDS_PER_NODE, 1);
  int repFactor = message.getInt(ZkStateReader.REPLICATION_FACTOR, collection.getInt(ZkStateReader.REPLICATION_FACTOR, 1));
  String createNodeSetStr = message.getStr(CREATE_NODE_SET);

  ArrayList<Node> sortedNodeList = getNodesForNewShard(clusterState, collectionName, numSlices, maxShardsPerNode, repFactor, createNodeSetStr);

  Overseer.getInQueue(zkStateReader.getZkClient()).offer(ZkStateReader.toJSON(message));
  // wait for a while until we see the shard
  long waitUntil = System.nanoTime() + TimeUnit.NANOSECONDS.convert(30, TimeUnit.SECONDS);;
  boolean created = false;
  while (System.nanoTime() < waitUntil) {
    Thread.sleep(100);
    created = zkStateReader.getClusterState().getCollection(collectionName).getSlice(shard) != null;
    if (created) break;
  }
  if (!created)
    throw new SolrException(ErrorCode.SERVER_ERROR, "Could not fully create shard: " + message.getStr("name"));


  String configName = message.getStr(COLL_CONF);
  String sliceName = shard;
  for (int j = 1; j <= repFactor; j++) {
    String nodeName = sortedNodeList.get(((j - 1)) % sortedNodeList.size()).nodeName;
    String shardName = collectionName + "_" + sliceName + "_replica" + j;
    log.info("Creating shard " + shardName + " as part of slice "
        + sliceName + " of collection " + collectionName + " on "
        + nodeName);

    // Need to create new params for each request
    ModifiableSolrParams params = new ModifiableSolrParams();
    params.set(CoreAdminParams.ACTION, CoreAdminAction.CREATE.toString());

    params.set(CoreAdminParams.NAME, shardName);
    params.set(COLL_CONF, configName);
    params.set(CoreAdminParams.COLLECTION, collectionName);
    params.set(CoreAdminParams.SHARD, sliceName);
    params.set(ZkStateReader.NUM_SHARDS_PROP, numSlices);
    addPropertyParams(message, params);

    ShardRequest sreq = new ShardRequest();
    params.set("qt", adminPath);
    sreq.purpose = 1;
    String replica = zkStateReader.getBaseUrlForNodeName(nodeName);
    sreq.shards = new String[]{replica};
    sreq.actualShards = sreq.shards;
    sreq.params = params;

    shardHandler.submit(sreq, replica, sreq.params);

  }

  processResponses(results, shardHandler);

  log.info("Finished create command on all shards for collection: "
      + collectionName);

  return true;
}
 
开发者ID:europeana,项目名称:search,代码行数:70,代码来源:OverseerCollectionProcessor.java

示例5: migrate

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private void migrate(ClusterState clusterState, ZkNodeProps message, NamedList results) throws KeeperException, InterruptedException {
  String sourceCollectionName = message.getStr("collection");
  String splitKey = message.getStr("split.key");
  String targetCollectionName = message.getStr("target.collection");
  int timeout = message.getInt("forward.timeout", 10 * 60) * 1000;

  DocCollection sourceCollection = clusterState.getCollection(sourceCollectionName);
  if (sourceCollection == null) {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Unknown source collection: " + sourceCollectionName);
  }
  DocCollection targetCollection = clusterState.getCollection(targetCollectionName);
  if (targetCollection == null) {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Unknown target collection: " + sourceCollectionName);
  }
  if (!(sourceCollection.getRouter() instanceof CompositeIdRouter))  {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Source collection must use a compositeId router");
  }
  if (!(targetCollection.getRouter() instanceof CompositeIdRouter))  {
    throw new SolrException(ErrorCode.BAD_REQUEST, "Target collection must use a compositeId router");
  }
  CompositeIdRouter sourceRouter = (CompositeIdRouter) sourceCollection.getRouter();
  CompositeIdRouter targetRouter = (CompositeIdRouter) targetCollection.getRouter();
  Collection<Slice> sourceSlices = sourceRouter.getSearchSlicesSingle(splitKey, null, sourceCollection);
  if (sourceSlices.isEmpty()) {
    throw new SolrException(ErrorCode.BAD_REQUEST,
        "No active slices available in source collection: " + sourceCollection + "for given split.key: " + splitKey);
  }
  Collection<Slice> targetSlices = targetRouter.getSearchSlicesSingle(splitKey, null, targetCollection);
  if (targetSlices.isEmpty()) {
    throw new SolrException(ErrorCode.BAD_REQUEST,
        "No active slices available in target collection: " + targetCollection + "for given split.key: " + splitKey);
  }

  String asyncId = null;
  if(message.containsKey(ASYNC) && message.get(ASYNC) != null)
    asyncId = message.getStr(ASYNC);

  for (Slice sourceSlice : sourceSlices) {
    for (Slice targetSlice : targetSlices) {
      log.info("Migrating source shard: {} to target shard: {} for split.key = " + splitKey, sourceSlice, targetSlice);
      migrateKey(clusterState, sourceCollection, sourceSlice, targetCollection, targetSlice, splitKey,
          timeout, results, asyncId, message);
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:46,代码来源:OverseerCollectionProcessor.java

示例6: createShard

import org.apache.solr.common.cloud.ZkNodeProps; //导入方法依赖的package包/类
private boolean createShard(ClusterState clusterState, ZkNodeProps message, NamedList results) throws KeeperException, InterruptedException {
  log.info("Create shard invoked: {}", message);
  String collectionName = message.getStr(COLLECTION_PROP);
  String shard = message.getStr(SHARD_ID_PROP);
  if(collectionName == null || shard ==null)
    throw new SolrException(ErrorCode.BAD_REQUEST, "'collection' and 'shard' are required parameters" );
  int numSlices = 1;

  DocCollection collection = clusterState.getCollection(collectionName);
  int maxShardsPerNode = collection.getInt(MAX_SHARDS_PER_NODE, 1);
  int repFactor = message.getInt(REPLICATION_FACTOR, collection.getInt(REPLICATION_FACTOR, 1));
  String createNodeSetStr = message.getStr(CREATE_NODE_SET);

  ArrayList<Node> sortedNodeList = getNodesForNewShard(clusterState, collectionName, numSlices, maxShardsPerNode, repFactor, createNodeSetStr);

  Overseer.getInQueue(zkStateReader.getZkClient()).offer(ZkStateReader.toJSON(message));
  // wait for a while until we see the shard
  long waitUntil = System.nanoTime() + TimeUnit.NANOSECONDS.convert(30, TimeUnit.SECONDS);;
  boolean created = false;
  while (System.nanoTime() < waitUntil) {
    Thread.sleep(100);
    created = zkStateReader.getClusterState().getCollection(collectionName).getSlice(shard) != null;
    if (created) break;
  }
  if (!created)
    throw new SolrException(ErrorCode.SERVER_ERROR, "Could not fully create shard: " + message.getStr("name"));


  String configName = message.getStr(COLL_CONF);
  String sliceName = shard;
  for (int j = 1; j <= repFactor; j++) {
    String nodeName = sortedNodeList.get(((j - 1)) % sortedNodeList.size()).nodeName;
    String shardName = collectionName + "_" + sliceName + "_replica" + j;
    log.info("Creating shard " + shardName + " as part of slice "
        + sliceName + " of collection " + collectionName + " on "
        + nodeName);

    // Need to create new params for each request
    ModifiableSolrParams params = new ModifiableSolrParams();
    params.set(CoreAdminParams.ACTION, CoreAdminAction.CREATE.toString());

    params.set(CoreAdminParams.NAME, shardName);
    params.set(COLL_CONF, configName);
    params.set(CoreAdminParams.COLLECTION, collectionName);
    params.set(CoreAdminParams.SHARD, sliceName);
    params.set(ZkStateReader.NUM_SHARDS_PROP, numSlices);
    addPropertyParams(message, params);

    ShardRequest sreq = new ShardRequest();
    params.set("qt", adminPath);
    sreq.purpose = 1;
    String replica = zkStateReader.getBaseUrlForNodeName(nodeName);
    sreq.shards = new String[]{replica};
    sreq.actualShards = sreq.shards;
    sreq.params = params;

    shardHandler.submit(sreq, replica, sreq.params);

  }

  ShardResponse srsp;
  do {
    srsp = shardHandler.takeCompletedOrError();
    if (srsp != null) {
      processResponse(results, srsp);
    }
  } while (srsp != null);

  log.info("Finished create command on all shards for collection: "
      + collectionName);

  return true;
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:74,代码来源:OverseerCollectionProcessor.java


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