java.lang.Object
org.apache.solr.cloud.api.collections.Assign

public class Assign extends Object
  • Field Details

  • Constructor Details

    • Assign

      public Assign()
  • Method Details

    • getCounterNodePath

      public static String getCounterNodePath(String collection)
    • incAndGetId

      public static int incAndGetId(org.apache.solr.client.solrj.cloud.DistribStateManager stateManager, String collection)
    • assignCoreNodeName

      public static String assignCoreNodeName(org.apache.solr.client.solrj.cloud.DistribStateManager stateManager, org.apache.solr.common.cloud.DocCollection collection)
    • assignShard

      public static String assignShard(org.apache.solr.common.cloud.DocCollection collection, Integer numShards)
      Assign a new unique id up to slices count - then add replicas evenly.
      Returns:
      the assigned shard id
    • buildSolrCoreName

      public static String buildSolrCoreName(String collectionName, String shard, org.apache.solr.common.cloud.Replica.Type type, int replicaNum)
    • buildSolrCoreName

      public static String buildSolrCoreName(org.apache.solr.client.solrj.cloud.DistribStateManager stateManager, String collectionName, String shard, org.apache.solr.common.cloud.Replica.Type type)
    • buildSolrCoreName

      public static String buildSolrCoreName(org.apache.solr.client.solrj.cloud.DistribStateManager stateManager, org.apache.solr.common.cloud.DocCollection collection, String shard, org.apache.solr.common.cloud.Replica.Type type)
    • getLiveOrLiveAndCreateNodeSetList

      public static List<String> getLiveOrLiveAndCreateNodeSetList(Set<String> liveNodes, org.apache.solr.common.cloud.ZkNodeProps message, Random random, org.apache.solr.client.solrj.cloud.DistribStateManager zk)
    • filterNonDataNodes

      public static Collection<String> filterNonDataNodes(org.apache.solr.client.solrj.cloud.DistribStateManager zk, Collection<String> liveNodes)
    • getNodesForNewReplicas

      public static List<org.apache.solr.common.cloud.ReplicaPosition> getNodesForNewReplicas(org.apache.solr.common.cloud.ClusterState clusterState, String collectionName, String shard, org.apache.solr.common.cloud.ReplicaCount numReplicas, Object createNodeSet, org.apache.solr.client.solrj.cloud.SolrCloudManager cloudManager, CoreContainer coreContainer) throws IOException, InterruptedException, Assign.AssignmentException
      Throws:
      IOException
      InterruptedException
      Assign.AssignmentException
    • createAssignStrategy

      public static Assign.AssignStrategy createAssignStrategy(CoreContainer coreContainer)
      Creates the appropriate instance of Assign.AssignStrategy based on how the cluster and/or individual collections are configured.

      If PlacementPlugin instance is null this call will return a strategy from SimplePlacementFactory, otherwise PlacementPluginAssignStrategy will be used.