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

Jason Gerlowski commented on SOLR-15118:
----------------------------------------

I've merged this change to master.

One small wrinkle that came up in the course of implementation was that the 
CollectionAdminRequest class in SolrJ aims to support conversion of v1 requests 
over to their v2 counterparts via its {{getV2Request}} method (and the backing 
{{V2RequestSupport}} interface.  The default implementation of this method only 
works for those v2 APIs defined by the old jsonspec approach we're moving away 
from.  (It's also a bit wart-y to even attempt to support V2 requests in the 
CAR class - there's no "Collection Admin" concept in the v2 API paths.)

Anyway, to handle this without breaking backcompat, I have switched the API 
implementations on 'master' only.  The only change made to 'branch_8x' is an 
added deprecation for the {{getV2Request}} method, which is removed by the 
'master' change.

This leaves open the question of how we want to support the V2 API in SolrJ.  
The V2RequestSupport object was this answer at some point, but it was never 
taken up and used beyond CollectionAdminRequest.  I've created SOLR-15141 in 
hopes of answering this question and making progress on a solution.

> Make /v2/collections APIs annotation-based
> ------------------------------------------
>
>                 Key: SOLR-15118
>                 URL: https://issues.apache.org/jira/browse/SOLR-15118
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: v2 API
>    Affects Versions: master (9.0)
>            Reporter: Jason Gerlowski
>            Assignee: Jason Gerlowski
>            Priority: Major
>          Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> The {{ApiBag}} class used to register v2 APIs (and the {{PathTrie}} object 
> underlying it) only holds a single {{Api}} object for a given "method" and 
> "path" combination.  In short this means that API commands with the same 
> method and path must be declared homogenously: they either have to all be in 
> the JSON spec, or all be in annotated Java classes.
> The SIP-12 proposal calls for new "list-backups" and "delete-backups" APIs.  
> For these v2 APIs to be annotation-based, as is preferred going forward, all 
> of the existing /v2/collections APIs must be changed to be annotation-based 
> as well.
> It's worth noting that this will cause the introspection output to lose the 
> "description" text for these APIs and their parameters, as there's no support 
> for this yet for annotation-based v2 APIs.  See SOLR-15117 for more details.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to