[ 
https://issues.apache.org/jira/browse/SOLR-8110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15166397#comment-15166397
 ] 

Jason Gerlowski edited comment on SOLR-8110 at 2/25/16 12:18 AM:
-----------------------------------------------------------------

Noticed something a little odd (to me) while doing some manual tests on the 
patch I pushed up last night....

With the added checks in the patch, core creation will fail if the core-create 
request references a configset containing an invalid field declaration.  Solr 
returns BAD_REQUEST (400), and a message containing: {{Unable to create core 
[gettingstarted_shard1_replica2] Caused by: Dynamic field name '*_i$#' is 
invalid.  Dynamic field names can only containalphanumerics, underscores, 
periods, and prefix/suffix asterisks.}}  All looks good.


When I test this out by creating a collection though, the result is more mixed. 
 Solr returns an OK (200) status code.  The message body though, contains a 
similar error message to the one above:

{code}
[~/c/s/l/solr] $ curl -i -l -k -X GET 
"http://localhost:8983/solr/admin/collections?action=CREATE&name=asdf&collection.configName=gettingstarted&numShards=1";
HTTP/1.1 200 OK
...
<response>
<lst name="responseHeader"><int name="status">0</int><int 
name="QTime">2841</int></lst><lst name="failure"><str 
name="127.0.1.1:7574_solr">org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error
 from server at http://127.0.1.1:7574/solr: Error CREATEing SolrCore 
'asdf_shard1_replica1': Unable to create core [asdf_shard1_replica1] Caused by: 
Dynamic field name '*_i$#' is invalid.  Dynamic field names can only 
containalphanumerics, underscores, periods, and prefix/suffix 
asterisks.</str></lst>
</response>
{code}

Cluster-status and core-status requests confirm that the cores failed to 
initialize correctly, and were never fully created.

My interpretation of this is that the collection-create commands fires off the 
core-create requests, but doesn't correctly interpret their success/failure.  
Is this expected/correct behavior, or is this a bug in the Collections API?  
Seems like a bug to me, but I'm not super familiar with the expected behavior 
of the Collections API, so just thought I'd mention it here before creating a 
JIRA out of it.


was (Author: gerlowskija):
Noticed something a little odd (to me) while doing some manual tests on the 
patch I pushed up last night....

With the added checks in the patch, core creation will fail if the core-create 
request references a configset containing an invalid field declaration.  Solr 
returns BAD_REQUEST (400), and a message containing: {{Unable to create core 
[gettingstarted_shard1_replica2] Caused by: Dynamic field name '*_i$#' is 
invalid.  Dynamic field names can only containalphanumerics, underscores, 
periods, and prefix/suffix asterisks.}}  All looks good.

When I test this out by creating a collection though, the result is more mixed. 
 Solr returns an OK (200) status code.  The message body though, contains a 
similar error message to the one above:

{code}
[~/c/s/l/solr] $ curl -i -l -k -X GET 
"http://localhost:8983/solr/admin/collections?action=CREATE&name=asdf&collection.configName=gettingstarted&numShards=1";
HTTP/1.1 200 OK
...
<response>
<lst name="responseHeader"><int name="status">0</int><int 
name="QTime">2841</int></lst><lst name="failure"><str 
name="127.0.1.1:7574_solr">org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error
 from server at http://127.0.1.1:7574/solr: Error CREATEing SolrCore 
'asdf_shard1_replica1': Unable to create core [asdf_shard1_replica1] Caused by: 
Dynamic field name '*_i$#' is invalid.  Dynamic field names can only 
containalphanumerics, underscores, periods, and prefix/suffix 
asterisks.</str></lst>
</response>
{code}

Cluster-status and core-status requests confirm that the cores failed to 
initialize correctly, and were never fully created.

My interpretation of this is that the collection-create commands fires off the 
core-create requests, but doesn't correctly interpret their success/failure.  
Is this expected/correct behavior, or is this a bug in the Collections API?  
Seems like a bug to me, but I'm not super familiar with the expected behavior 
of the Collections API, so just thought I'd mention it here before creating a 
JIRA out of it.

> Start enforcing field naming recomendations in next X.0 release?
> ----------------------------------------------------------------
>
>                 Key: SOLR-8110
>                 URL: https://issues.apache.org/jira/browse/SOLR-8110
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Hoss Man
>         Attachments: SOLR-8110.patch
>
>
> For a very long time now, Solr has made the following "recommendation" 
> regarding field naming conventions...
> bq. field names should consist of alphanumeric or underscore characters only 
> and not start with a digit.  This is not currently strictly enforced, but 
> other field names will not have first class support from all components and 
> back compatibility is not guaranteed.  ...
> I'm opening this issue to track discussion about if/how we should start 
> enforcing this as a rule instead (instead of just a "recommendation") in our 
> next/future X.0 (ie: major) release.
> The goals of doing so being:
> * simplify some existing code/apis that currently use hueristics to deal with 
> lists of field and produce strange errors when the huerstic fails (example: 
> ReturnFields.add)
> * reduce confusion/pain for new users who might start out unaware of the 
> recommended conventions and then only later encountering a situation where 
> their field names are not supported by some feature and get frustrated 
> because they have to change their schema, reindex, update index/query client 
> expectations, etc...



--
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

Reply via email to