[
https://issues.apache.org/jira/browse/SOLR-8677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15149451#comment-15149451
]
Anshum Gupta commented on SOLR-8677:
------------------------------------
bq. This obviously means some duplicated code, since the classes are largely
the same other than the exception being thrown. If anyone has suggestions on
better ways to structure this, I'd love to hear them.
handled in my last patch.
bq. I created a new file for these tests (TestCollectionAdminRequest). Wanted
to mention it, in case tests for those classes do already exist, and I just
missed them. Pretty sure the new file was warranted though.
You've added nice unit tests that don't require SolrCloud bootstrapping, so
that's perfect. We can also add more tests to CollectionsAPISolrJTests class
but it's not really needed so we're good.
> SOLR allows creation of shards with invalid names.
> --------------------------------------------------
>
> Key: SOLR-8677
> URL: https://issues.apache.org/jira/browse/SOLR-8677
> Project: Solr
> Issue Type: Bug
> Affects Versions: master
> Reporter: Jason Gerlowski
> Priority: Minor
> Fix For: master
>
> Attachments: SOLR-8677.patch, SOLR-8677.patch, SOLR-8677.patch
>
>
> Solr currently has "recommendations" about what constitutes a valid
> identifier, but doesn't enforce these "recommendations" uniformly. Core
> (SOLR-8308) and collection (SOLR-8642) names are currently checked, but
> shards aren't.
> {code}
> $ bin/solr -e cloud -noprompt
> ....
> $ curl -i -l -k -X GET
> "http://localhost:8983/solr/admin/collections?action=CREATE&name=coll1&router.name=implicit&numShards=1&shards=bad+shard+name"
> 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">204</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
> 'coll1_bad shard name_replica1': Unable to create core [coll1_bad shard
> name_replica1] Caused by: Invalid name: 'coll1_bad shard name_replica1'
> Identifiers must consist entirely of periods, underscores and
> alphanumerics</str></lst>
> </response>
> {code}
> (Note that the CREATE command above returned 200-OK, and the failure was only
> apparent when viewing the message.)
> A CLUSTERSTATUS shows that the shard was actually created, but has no
> underlying cores.
> {code}
> $ curl -i -l -k -X GET
> "http://localhost:8983/solr/admin/collections?action=CLUSTERSTATUS&wt=json&indent=true"
> ...
> "collections":{
> "coll1":{
> "replicationFactor":"1",
> "shards":{"bad shard name":{
> "range":null,
> "state":"active",
> "replicas":{}}},
> "router":{"name":"implicit"},
> "maxShardsPerNode":"1",
> "autoAddReplicas":"false",
> "znodeVersion":1,
> "configName":"gettingstarted"},
> ...
> {code}
> This JIRA proposes adding a check to ensure that shard names meet SOLR's
> identifier "recommendations". This should prevent users from accidentally
> putting themselves in a bad state.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]