Hi all.

I'm running Solr 7.1 in SolrCloud mode ona a 3-node cluster and tried
using the backup/restore API for the first time. Backup worked fine, but
when trying to restore the backed-up collection I ran into an unexpected
problem with the replication factor setting.

Below command attempts to restore a backup of the collection "demo" with
3 shards, creating 2 replicas per shard:

# curl -s -k 
'https://localhost:8983/solr/admin/collections?action=restore&name=demo&location=/srv/backup/solr/solr-dev&collection=demo&maxShardsPerNode=2&replicationFactor=2'
{
  "error": {
    "code": 400,
    "msg": "Solr cloud with available number of nodes:3 is insufficient for 
restoring a collection with 3 shards, total replicas per shard 6 and 
maxShardsPerNode 2. Consider increasing maxShardsPerNode value OR number of 
available nodes.",
    "metadata": [
      "error-class",
      "org.apache.solr.common.SolrException",
      "root-error-class",
      "org.apache.solr.common.SolrException"
    ]
  },
  "exception": {
    "rspCode": 400,
    "msg": "Solr cloud with available number of nodes:3 is insufficient for 
restoring a collection with 3 shards, total replicas per shard 6 and 
maxShardsPerNode 2. Consider increasing maxShardsPerNode value OR number of 
available nodes."
  },
  "Operation restore caused exception:": 
"org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: 
Solr cloud with available number of nodes:3 is insufficient for restoring a 
collection with 3 shards, total replicas per shard 6 and maxShardsPerNode 2. 
Consider increasing maxShardsPerNode value OR number of available nodes.",
  "responseHeader": {
    "QTime": 28,
    "status": 400
  }
}

It looks to me like the restore API multiplies the replication factor
with the number of nodes, which is not how the replication factor
behaves in other contexts. The documentation[1] also didn't lead me to
expect this behavior:

> replicationFactor
>
>    The number of replicas to be created for each shard.

Is this expected behavior (by anyone but me)?
Should I report it as a bug?

[1]: https://lucene.apache.org/solr/guide/7_1/collections-api.html

Regards
Ansgar Wiechers
-- 
"Abstractions save us time working, but they don't save us time learning."
--Joel Spolsky

Reply via email to