About (1), bq: The Solr Admin UI showed that my replication factor
changed but otherwise nothing happened.

this is as designed AFAIK. There's nothing built in to Solr to
_automatically_ add replicas when this property is changed. My guess
is that the MODIFYCOLLECTION code was written to help with editing the
ZK nodes, i.e. make it unnecessary to hand-edit the ZK nodes to change
things like replication factor without recreating a collection. I've
modified the ref guide page to make this more explicit.

about (2)... I agree. If you can reliably repeat this (or even better,
come up with a test case) it would be worth a JIRA I think.

Best,
Erick



On Mon, May 23, 2016 at 10:46 AM, Hendrik Haddorp
<hendrik.hadd...@gmx.net> wrote:
> What I find odd is that creating a collection with a replication factor
> greater then 1 does seem to not end up with replicas on the same node.
> However when one wants to add replicas later on one need to do the whole
> placement manually to avoid single point of failures.
>
> On 23/05/16 15:28, Tom Evans wrote:
>> On Mon, May 23, 2016 at 10:37 AM, Hendrik Haddorp
>> <hendrik.hadd...@gmx.net> wrote:
>>> Hi,
>>>
>>> I have a SolrCloud 6.0 setup and created my collection with a
>>> replication factor of 1. Now I want to increase the replication factor
>>> but would like the replicas for the same shard to be on different nodes,
>>> so that my collection does not fail when one node fails. I tried two
>>> approaches so far:
>>>
>>> 1) When I use the collections API with the MODIFYCOLLECTION action [1] I
>>> can set the replication factor but that did not result in the creation
>>> of additional replicas. The Solr Admin UI showed that my replication
>>> factor changed but otherwise nothing happened. A reload of the
>>> collection did also result in no change.
>>>
>>> 2) Using the ADDREPLICA action [2] from the collections API I have to
>>> add the replicas to the shard individually, which is a bit more
>>> complicated but otherwise worked. During testing this did however at
>>> least once result in the replica being created on the same node. My
>>> collection was split in 4 shards and for 2 of them all replicas ended up
>>> on the same node.
>>>
>>> So is the only option to create the replicas manually and also pick the
>>> nodes manually or is the perceived behavior wrong?
>>>
>>> regards,
>>> Hendrik
>>>
>>> [1]
>>> https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-modifycoll
>>> [2]
>>> https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api_addreplica
>>
>> With ADDREPLICA, you can specify the node to create the replica on. If
>> you are using a script to increase/remove replicas, you can simply
>> incorporate the logic you desire in to your script - you can also use
>> CLUSTERSTATUS to get a list of nodes/collections/shards etc in order
>> to inform the logic in the script. This is the approach we took, we
>> have a fabric script to add/remove extra nodes to/from the cluster, it
>> works well.
>>
>> The alternative is to put the logic in to Solr itself, using what Solr
>> calls a "snitch" to define the rules on where replicas are created.
>> The snitch is specified at collection creation time, or you can use
>> MODIFYCOLLECTION to set it after the fact. See this wiki patch for
>> details:
>>
>> https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement
>>
>> Cheers
>>
>> Tom
>

Reply via email to