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

Jason Gerlowski commented on SOLR-16392:
----------------------------------------

I started looking a little more closely at the v1 DELETEREPLICA functionality 
this morning in preparation to convert it to JAX-RS, and found that it actually 
does more than I thought.  Not only can it delete a single replica by name, but 
it's also capable of deleting a specified number of replicas (whose names 
aren't explicitly provided - presumably Solr chooses which replicas in the 
shard to delete).

I think the most intuitive way to represent these two chunks of functionality 
in v2, is probably to split them into two separate endpoints.  {{DELETE 
/collections/collName/shards/shardName/replicas/replicaName}} can still be used 
to delete a single named replica. (This v2 API already exists today).  But we 
could also add a related endpoint to cover the multiple-replica-deletion case: 
{{DELETE /collections/collName/shards/shardName/replicas?count=123}}.

What do folks think of that idea?  If there's no objections I'll mock it up in 
a PR shortly.

> Cosmetic improvements and migration to JAX-RS (shard, replica, and 
> replicaprop CRUD APIs)
> -----------------------------------------------------------------------------------------
>
>                 Key: SOLR-16392
>                 URL: https://issues.apache.org/jira/browse/SOLR-16392
>             Project: Solr
>          Issue Type: Sub-task
>          Components: v2 API
>    Affects Versions: main (10.0)
>            Reporter: Jason Gerlowski
>            Assignee: Jason Gerlowski
>            Priority: Major
>              Labels: newdev
>          Time Spent: 6h 50m
>  Remaining Estimate: 0h
>
> As mentioned on SOLR-15781, the v2 API currently has an experimental 
> designation, and the community has expressed an interest in using this period 
> to update our v2 endpoints to be more REST-ful and consistent.  The current 
> plan is to follow the specific changes laid out in [this 
> spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
>  though of course nothing there is set in stone and there are still warts to 
> be worked out.
> While we're touching the code for these endpoints, we should also convert 
> them to JAX-RS framework definitions.  (This was initially tracked as a 
> separate effort - see SOLR-16370 - but the edit that were required ended up 
> overlapping so significantly with the "cosmetic" improvements here that in 
> practice it almost always makes sense to do the two together.)
> This ticket plans to tackle making the changes required for Solr's shard, 
> replica and replica-prop CRUD APIs, as described in the spreadsheet linked 
> above.  For convenience and ease of tracking, these APIs are summarized in 
> the table below:
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |Create Shard|POST /api/collections/collName/shards \{create: \{...\}\}|POST 
> /api/collections/collName/shards \{...\}|Open|N/A|
> |Create Replica|POST /api/collections/collName/shards \{"add-replica": 
> \{...\}\}|POST /api/collections/collName/shards/shardName/replicas 
> \{...\}|Open|N/A|
> *JAX-RS Conversion Only*
> ||API Name||Endpoint Format||Status||Volunteer||
> |Delete Shard|DELETE /api/collections/collName/shards/shardName|Open|N/A|
> |Delete Replica|DELETE 
> /api/collections/collName/shards/shard1/repName|Open|N/A|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to