Thanks for the quick reply Mark.
I tried all kinds of variations, I could not get all 6 nodes to participate.
So I downloaded the source code and took a look at 
OverseerCollectionProcessor.java
I think my result is as-coded.

Line 251 has this loop:
      for (int i = 1; i <= numSlices; i++) {
        for (int j = 1; j <= repFactor; j++) {
          String nodeName = nodeList.get(((i - 1) + (j - 1)) % nodeList.size());

So for my inputs, numSlices=3 and repFactor=2.
And the logic here will choose the same node for these two slices:
--- slice1, rep2 (i=2,j=1)  ==> chooses node[1]
--- slice2, rep1 (i=1,j=2)  ==> chooses node[1]

BTW, I did notice the comment in the code:
      // we need to look at every node and see how many cores it serves
      // add our new cores to existing nodes serving the least number of cores
      // but (for now) require that each core goes on a distinct node.
      
      // TODO: add smarter options that look at the current number of cores per
      // node?
      // for now we just go random

Thanks,
James

-----Original Message-----
From: Mark Miller [mailto:markrmil...@gmail.com] 
Sent: Wednesday, January 09, 2013 11:30 AM
To: solr-user@lucene.apache.org
Subject: Re: SolrCloud - shard distribution

I just tried this. I started 6 nodes with collection1 spread across two shards. 
Looked at the admin->cloud->graph view and everything looked right and green.

Next, I copy and pasted your command and refreshed the graph cloud view.

I see a new collection called consumer1 - all of it's nodes are green and the 
collection consists of 3 shards. Each shard has 1 leader and 1 replica, each 
hosted by a different Solr instance.

In other words, it seemed to work for me.

- Mark

On Jan 9, 2013, at 10:58 AM, James Thomas <jtho...@camstar.com> wrote:

> Hi,
> 
> Simple question, I hope.
> 
> Using the nightly build of 4.1 from yesterday (Jan 8, 2013), I started 6 Solr 
> nodes.
> I issued the following command to create a collection with 3 shards, and a 
> replication factor=2.  So a total of 6 shards.
>     curl 
> 'http://localhost:11000/solr/admin/collections?action=CREATE&name=consumer1&numShards=3&replicationFactor=2'
> The end result was the following shard distribution:
>    shard1 - node #13, #15  (with #13 as leader)
>   shard2 - node #15, #16  (with #15 as leader)
>   shard3 - node #11, #16  (with #11 as leader)
> 
> Since I am using the default value of 1 for 'maxShardsPerNode', I was 
> surprised to see that Solr created two shards on instance #16.  I expected 
> that each Solr node (there are 6) would each be assigned one shard from the 
> collection.  Is this a bug or expected behavior?
> 
> Thanks,
> James



Reply via email to