[jira] [Resolved] (SOLR-8642) SOLR allows creation of collections with invalid names
[ https://issues.apache.org/jira/browse/SOLR-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Miller resolved SOLR-8642. --- Resolution: Fixed > 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: master >Reporter: Jason Gerlowski >Assignee: Erick Erickson >Priority: Minor > Fix For: master, 5.5 > > Attachments: SOLR-8642.patch, SOLR-8642.patch, SOLR-8642.patch, > SOLR-8642.patch > > > 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} > $ > $ 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 > > > 0 name="QTime">299 name="failure">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 > alphanumericsorg.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 > alphanumericsorg.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 > alphanumericsorg.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 > > $ > $ 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":"8000-", > "state":"active", > "replicas":{}}, > "shard2":{ > "range":"0-7fff", > "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 and returns the error seen above. > 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
[jira] [Resolved] (SOLR-8642) SOLR allows creation of collections with invalid names
[ https://issues.apache.org/jira/browse/SOLR-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erick Erickson resolved SOLR-8642. -- Resolution: Fixed Fix Version/s: Trunk 5.5 Thanks Jason! > 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 > Fix For: 5.5, Trunk > > Attachments: SOLR-8642.patch, SOLR-8642.patch, SOLR-8642.patch, > SOLR-8642.patch > > > 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} > $ > $ 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 > > > 0 name="QTime">299 name="failure">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 > alphanumericsorg.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 > alphanumericsorg.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 > alphanumericsorg.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 > > $ > $ 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":"8000-", > "state":"active", > "replicas":{}}, > "shard2":{ > "range":"0-7fff", > "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 and returns the error seen above. > 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