You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jason Gerlowski (JIRA)" <ji...@apache.org> on 2016/02/12 19:11:18 UTC

[jira] [Created] (SOLR-8677) SOLR allows creation of shards with invalid names.

Jason Gerlowski created SOLR-8677:
-------------------------------------

             Summary: 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
             Fix For: master


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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org