You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shawn Heisey (JIRA)" <ji...@apache.org> on 2014/05/01 22:03:14 UTC
[jira] [Closed] (SOLR-6036) Can't create collection with
replicationFactor=0
[ https://issues.apache.org/jira/browse/SOLR-6036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shawn Heisey closed SOLR-6036.
------------------------------
Resolution: Invalid
{quote}
I believe the <= should just be < as it won't allow 0. It may have been legacy from when replicationFactor of 1 included the leader/master copy, whereas in solr 4.x, replicationFactor is defined by additional replicas on top of the leader.
http://wiki.apache.org/solr/SolrCloud
replicationFactor: The number of copies of each document (or, the number of physical replicas to be created for each logical shard of the collection.) A replicationFactor of 3 means that there will be 3 replicas (one of which is normally designated to be the leader) for each logical shard. NOTE: in Solr 4.0, replicationFactor was the number of additional copies as opposed to the total number of copies
{quote}
The "NOTE" above refers specifically to one specific release -- Solr 4.0. In 4.1 and later (including the just-released 4.8), if you specify replicationFactor=2, you will get a total of two replicas. One of them will be elected the leader. There will not be a leader and two additional copies -- there will be exactly two. To create a collection that has no redundancy, use replicationFactor=1.
I have created the collections on my small SolrCloud install with replicationFactor=2, running Solr 4.2.1. I have exactly two copies of every shard. I have not seen anything in any SOLR-NNNN issue or any code commit to change this meaning.
The "if" statement in the code is correct. If you specified a replication factor of zero, there would be no index.
> Can't create collection with replicationFactor=0
> ------------------------------------------------
>
> Key: SOLR-6036
> URL: https://issues.apache.org/jira/browse/SOLR-6036
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 4.3.1, 4.8
> Reporter: John Wong
> Priority: Trivial
>
> solrcloud$ curl 'http://localhost:8983/solr/admin/collections?action=CREATE&name=collection&numShards=2&replicationFactor=0'
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">400</int><int name="QTime">60052</int></lst><str name="Operation createcollection caused exception:">org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: replicationFactor must be greater than or equal to 0</str><lst name="exception"><str name="msg">replicationFactor must be greater than or equal to 0</str><int name="rspCode">400</int></lst><lst name="error"><str name="msg">replicationFactor must be greater than or equal to 0</str><int name="code">400</int></lst>
> </response>
> I am using solr 4.3.1, but I peeked into the source up to 4.8 and the problem still persists, but in 4.8, the exception message now is changed to be greater than 0.
> The code snippet in OverseerCollectionProcessor.java:
> if (repFactor <= 0) {
> throw new SolrException(ErrorCode.BAD_REQUEST, REPLICATION_FACTOR + " must be greater than 0");
> }
> I believe the <= should just be < as it won't allow 0. It may have been legacy from when replicationFactor of 1 included the leader/master copy, whereas in solr 4.x, replicationFactor is defined by additional replicas on top of the leader.
> http://wiki.apache.org/solr/SolrCloud
> replicationFactor: The number of copies of each document (or, the number of physical replicas to be created for each logical shard of the collection.) A replicationFactor of 3 means that there will be 3 replicas (one of which is normally designated to be the leader) for each logical shard. NOTE: in Solr 4.0, replicationFactor was the number of *additional* copies as opposed to the total number of copies.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org