Varun Thacker created SOLR-10812:
------------------------------------
Summary: V2 API Collection API Improvements:
Key: SOLR-10812
URL: https://issues.apache.org/jira/browse/SOLR-10812
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Components: v2 API
Affects Versions: 6.5
Reporter: Varun Thacker
Observations when I hit : http://localhost:8983/v2/c/_introspect
- Can the default be indent=on?
- Introspect documentation points to the ref guide: Where should the url point
to now?
- The experimental warning comes up three times
For the create action:
- The "required" param only says name. It should have numShards or router ?
- Missing "default" values for replicationFactor / maxShardsPerNode /
createNodeSet.shuffle
- "Create collections and collection aliases, backup or restore collections,
and delete collections and aliases" - Replace the first and with a comma?
- "These properties define how to distribute documents across a collection's
shards." -> "The router properties defines how documents are distributed across
shards" ?
- "The compositeId option has Solr decide how to distribute documents (with
some possibilities for customization)" -> "The 'compositeId' router hashes the
value in the uniqueKey field with the additional ability to manually direct the
routing" ?
- "The implicit option requires you define your own routing strategy, and puts
the balancing of documents in shards entirely in your hands." -> "The indexing
client needs to specify for each document which shard should a document belong
to" ?
- "numShards"/"replicationFactor" says "type" as number. Should it be integer?
maxShardsPerNode says integer
- "Replicas are physical copies of each shard, acting as failover for the
shard." -> ... "and helps distribute query load" ?
- Empty description for "snitch" ? Maybe we should point it to a documentation
page ?
- "properties" : the properties description seems to be vague? What does
"additionalProperties" = true mean? It wasn't clear how to use it until I went
to the test cases.
- I tried out the "create" command specified "collection.configName" param
instead of the new "config" param . So when I tried it I got the following
error which should be made easier to understand to our users as it didn't
mention anything useful:
{code}
~/solr-6.5.0$ curl -X POST -d '{create:{name: test_api, collection.configName:
gettingstarted , shards: 1 }}' http://localhost:8983/v2/c
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 400
{metadata={error-class=org.apache.solr.api.ApiBag$ExceptionWithErrObject,root-error-class=org.apache.solr.api.ApiBag$ExceptionWithErrObject},errorMessages=[{create={name=test_api,
collection.configName=gettingstarted, shards=1}, errorMessages=[Expected type
: string but found : 1in object : 1, Unknown field
'collection.configName' in object : {
"name":"test_api",
"collection.configName":"gettingstarted",
"shards":1}]}],msg=Error in command payload,code=400}</title>
</head>
<body><h2>HTTP ERROR 400</h2>
<p>Problem accessing /solr/____v2/c. Reason:
<pre>
{metadata={error-class=org.apache.solr.api.ApiBag$ExceptionWithErrObject,root-error-class=org.apache.solr.api.ApiBag$ExceptionWithErrObject},errorMessages=[{create={name=test_api,
collection.configName=gettingstarted, shards=1}, errorMessages=[Expected type
: string but found : 1in object : 1, Unknown field
'collection.configName' in object : {
"name":"test_api",
"collection.configName":"gettingstarted",
"shards":1}]}],msg=Error in command payload,code=400}</pre></p>
</body>
</html>
{code}
- Now I changed it tried the following command and got an error similar to the
above error.
- Should the "DELETE" and "GET" operations show up when you hit
http://localhost:8983/v2/collections/_introspect?command=create or
http://localhost:8983/v2/collections/_introspect?command=create-alias ?
- I tried the backup-collection command and I got an error which seems to
indicate that the location param is getting escaped? Also didn't see any tests
for backup-collection
{code}
~/solr-6.5.0$ curl -X POST -d '{backup-collection:{name: backup_test,
collection: gettingstarted , location: '/Users/varunthacker/solr-6.5.0' }}'
http://localhost:8983/v2/c
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 400
{metadata={error-class=org.apache.solr.common.SolrException,root-error-class=org.noggit.JSONParser$ParseException},msg=org.noggit.JSONParser$ParseException:
Invalid comment: expected //, /*, or #: char=U,position=79 BEFORE='{name:
backup_test, collection: gettingstarted , location: /U'
AFTER='sers/varunthacker/solr-6.5.0 }}',code=400}</title>
</head>
<body><h2>HTTP ERROR 400</h2>
<p>Problem accessing /solr/____v2/c. Reason:
<pre>
{metadata={error-class=org.apache.solr.common.SolrException,root-error-class=org.noggit.JSONParser$ParseException},msg=org.noggit.JSONParser$ParseException:
Invalid comment: expected //, /*, or #: char=U,position=79 BEFORE='{name:
backup_test, collection: gettingstarted , location: /U'
AFTER='sers/varunthacker/solr-6.5.0 }}',code=400}</pre></p>
</body>
</html>
{code}
- We have a "create" collection API and then a DELETE method to delete it.
Should delete-alias be similar?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]