Jason Gerlowski created SOLR-8642: ------------------------------------- Summary: SOLR allows creation of collections with invalid names Key: SOLR-8642 URL: https://issues.apache.org/jira/browse/SOLR-8642 Project: Solr Issue Type: Bug Components: SolrCloud Affects Versions: Trunk Reporter: Jason Gerlowski Priority: Minor
Some of my colleagues and I recently noticed that the CREATECOLLECTION API will create a collection even when invalid characters are present in the name. For example, consider the following reproduction case, which involves creating a collection with a space in its name: {code} $ <clean checkout of SOLR master/trunk> $ bin/solr start -e cloud -noprompt ... $ curl -i -l -k -X GET "http://localhost:8983/solr/admin/collections?action=CREATE&name=getting+started&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted" HTTP/1.1 200 OK Content-Type: application/xml; charset=UTF-8 Transfer-Encoding: chunked <?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"><int name="status">0</int><int name="QTime">299</int></lst><lst name="failure"><str>org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error from server at http://127.0.1.1:8983/solr: Error CREATEing SolrCore 'getting started_shard2_replica2': Unable to create core [getting started_shard2_replica2] Caused by: Invalid core name: 'getting started_shard2_replica2' Names must consist entirely of periods, underscores and alphanumerics</str><str>org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error from server at http://127.0.1.1:7574/solr: Error CREATEing SolrCore 'getting started_shard2_replica1': Unable to create core [getting started_shard2_replica1] Caused by: Invalid core name: 'getting started_shard2_replica1' Names must consist entirely of periods, underscores and alphanumerics</str><str>org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error from server at http://127.0.1.1:7574/solr: Error CREATEing SolrCore 'getting started_shard1_replica1': Unable to create core [getting started_shard1_replica1] Caused by: Invalid core name: 'getting started_shard1_replica1' Names must consist entirely of periods, underscores and alphanumerics</str><str>org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error from server at http://127.0.1.1:8983/solr: Error CREATEing SolrCore 'getting started_shard1_replica2': Unable to create core [getting started_shard1_replica2] Caused by: Invalid core name: 'getting started_shard1_replica2' Names must consist entirely of periods, underscores and alphanumerics</str></lst> </response> $ $ curl -i -l -k -X GET "http://localhost:8983/solr/admin/collections?action=CLUSTERSTATUS&wt=json&indent=true" HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Transfer-Encoding: chunked { "responseHeader":{ "status":0, "QTime":6}, "cluster":{ "collections":{ ... "getting started":{ "replicationFactor":"2", "shards":{ "shard1":{ "range":"80000000-ffffffff", "state":"active", "replicas":{}}, "shard2":{ "range":"0-7fffffff", "state":"active", "replicas":{}}}, "router":{"name":"compositeId"}, "maxShardsPerNode":"2", "autoAddReplicas":"false", "znodeVersion":1, "configName":"gettingstarted"}, "live_nodes":["127.0.1.1:8983_solr", "127.0.1.1:7574_solr"]}} {code} The commands/responses above suggest that Solr creates the collection without checking the name. It then goes on to create the cores for the collection, which fails are returns an error. I verified this by doing a {{curl -i -l -k "http://localhost:8983/solr/admin/cores}}; as expected the cores were not actually created. (This is probably thanks to Erick's work on SOLR-8308). This bug is a problem because it will create collections which can never be backed up with actual cores. Seems like the same name-verification that 8308 added to cores should also be applied to collections. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org