[ 
https://issues.apache.org/jira/browse/SOLR-11807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Varun Thacker updated SOLR-11807:
---------------------------------
    Description: 
When you start Solr 6.6. and run the cloud example here's the log excerpt :
{code:java}
INFO  - 2018-06-20 13:44:47.452; 
org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
localhost:9983 ready



Connecting to ZooKeeper at localhost:9983 ...

INFO  - 2018-06-20 13:44:47.491; 
org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
localhost:9983 ready

Uploading 
/Users/varunthacker/Downloads/search-downloads/solr-6.6.0/server/solr/configsets/data_driven_schema_configs/conf
 for config gettingstarted to ZooKeeper at localhost:9983



Creating new collection 'gettingstarted' using command:

http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted{code}
maxShardsPerNode get's set to 2 . 

 

Compare this to Solr 7.3 
{code:java}
INFO  - 2018-06-20 13:55:33.823; 
org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
localhost:9983 ready

Created collection 'gettingstarted' with 2 shard(s), 2 replica(s) with 
config-set 'gettingstarted'{code}
So something changed and now we no longer set maxShardsPerNode and it defaults 
to -1 . 

 

-1 has special handing while creating a collection ( it means max int ) . This 
special handling is not there while Restoring a collection and hence this fails

We should not set maxShardsPerNode to -1 in the first place

Steps to reproduce:
 # ./bin/solr start -e cloud -noprompt : This creates a 2 node cluster and a 
gettingstarted collection which 2X2
2. Added 4 docs (id=1,2,3,4) with commit=true and openSearcher=true (default)
3. Call backup: 
http://localhost:8983/solr/admin/collections?action=BACKUP&name=gettingstarted_backup&collection=gettingstarted&location=/Users/varunthacker/solr-7.1.0
4. Call restore:
[http://localhost:8983/solr/admin/collections?action=restore&name=gettingstarted_backup&collection=restore_gettingstarted&location=/Users/varunthacker/solr-7.1.0]

  was:
Today we can never restore the cloud example gettingstarted collection because 
it sets maxShardsPerNode=-1 . We have special handling for -1 in 
CreateCollectionCmd but not in RestoreCmd.

Today RestoreCmd does has this check and it fails to restore the collection

{code}
    if ((numShards * totalReplicasPerShard) > (availableNodeCount * 
maxShardsPerNode)) {
      throw new SolrException(ErrorCode.BAD_REQUEST,
          String.format(Locale.ROOT, "Solr cloud with available number of 
nodes:%d is insufficient for"
              + " restoring a collection with %d shards, total replicas per 
shard %d and maxShardsPerNode %d."
              + " Consider increasing maxShardsPerNode value OR number of 
available nodes.",
              availableNodeCount, numShards, totalReplicasPerShard, 
maxShardsPerNode));
    }
{code}

Steps to reproduce:

Steps to reproduce:

1. ./bin/solr start -e cloud -noprompt : This creates a 2 node cluster and a 
gettingstarted collection which 2X2
2. Added 4 docs (id=1,2,3,4) with commit=true and openSearcher=true (default)
3. Call backup: 
http://localhost:8983/solr/admin/collections?action=BACKUP&name=gettingstarted_backup&collection=gettingstarted&location=/Users/varunthacker/solr-7.1.0
4. Call restore:
http://localhost:8983/solr/admin/collections?action=restore&name=gettingstarted_backup&collection=restore_gettingstarted&location=/Users/varunthacker/solr-7.1.0


> Restore Collection should reuse maxShardsPerNode specified during backup
> ------------------------------------------------------------------------
>
>                 Key: SOLR-11807
>                 URL: https://issues.apache.org/jira/browse/SOLR-11807
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Backup/Restore
>            Reporter: Varun Thacker
>            Assignee: Varun Thacker
>            Priority: Minor
>             Fix For: master (8.0), 7.5
>
>         Attachments: SOLR-11807.patch, SOLR-11807.patch
>
>
> When you start Solr 6.6. and run the cloud example here's the log excerpt :
> {code:java}
> INFO  - 2018-06-20 13:44:47.452; 
> org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
> localhost:9983 ready
> Connecting to ZooKeeper at localhost:9983 ...
> INFO  - 2018-06-20 13:44:47.491; 
> org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
> localhost:9983 ready
> Uploading 
> /Users/varunthacker/Downloads/search-downloads/solr-6.6.0/server/solr/configsets/data_driven_schema_configs/conf
>  for config gettingstarted to ZooKeeper at localhost:9983
> Creating new collection 'gettingstarted' using command:
> http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted{code}
> maxShardsPerNode get's set to 2 . 
>  
> Compare this to Solr 7.3 
> {code:java}
> INFO  - 2018-06-20 13:55:33.823; 
> org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at 
> localhost:9983 ready
> Created collection 'gettingstarted' with 2 shard(s), 2 replica(s) with 
> config-set 'gettingstarted'{code}
> So something changed and now we no longer set maxShardsPerNode and it 
> defaults to -1 . 
>  
> -1 has special handing while creating a collection ( it means max int ) . 
> This special handling is not there while Restoring a collection and hence 
> this fails
> We should not set maxShardsPerNode to -1 in the first place
> Steps to reproduce:
>  # ./bin/solr start -e cloud -noprompt : This creates a 2 node cluster and a 
> gettingstarted collection which 2X2
> 2. Added 4 docs (id=1,2,3,4) with commit=true and openSearcher=true (default)
> 3. Call backup: 
> http://localhost:8983/solr/admin/collections?action=BACKUP&name=gettingstarted_backup&collection=gettingstarted&location=/Users/varunthacker/solr-7.1.0
> 4. Call restore:
> [http://localhost:8983/solr/admin/collections?action=restore&name=gettingstarted_backup&collection=restore_gettingstarted&location=/Users/varunthacker/solr-7.1.0]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to