Then what is the suggested way to add a new node to a collection via the apis? I am specifically thinking of autoscale scenarios where a node has gone down or more nodes are needed to handle load.
Note that the ADDREPLICA endpoint requires a shard name, which puts the onus of how to scale out on the user. This can be challenging in an autoscale scenario. Thanks, Paul > On Feb 14, 2016, at 12:25 AM, Shawn Heisey <apa...@elyograg.org> wrote: > >> On 2/13/2016 6:01 PM, McCallick, Paul wrote: >> - When creating a new collection, SOLRCloud will use all available nodes for >> the collection, adding cores to each. This assumes that you do not specify >> a replicationFactor. > > The number of nodes that will be used is numShards multipled by > replicationFactor. The default value for replicationFactor is 1. If > you do not specify numShards, there is no default -- the CREATE call > will fail. The value of maxShardsPerNode can also affect the overall > result. > >> - When adding new nodes to the cluster AFTER the collection is created, one >> must use the core admin api to add the node to the collection. > > Using the CoreAdmin API is strongly discouraged when running SolrCloud. > It works, but it is an expert API when in cloud mode, and can cause > serious problems if not used correctly. Instead, use the Collections > API. It can handle all normal maintenance needs. > >> I would really like to see the second case behave more like the first. If I >> add a node to the cluster, it is automatically used as a replica for >> existing clusters without my having to do so. This would really simplify >> things. > > I've added a FAQ entry to address why this is a bad idea. > > https://wiki.apache.org/solr/FAQ#Why_doesn.27t_SolrCloud_automatically_create_replicas_when_I_add_nodes.3F > > Thanks, > Shawn >