Description
Since its inception, keeping the v1 and v2 APIs in sync has been a serious challenge. Historically, nothing has enforced consistency across the two APIs - to the somewhat predictable result that developers continued to add parameters and even whole endpoints to v1 without realizing they were leaving out the similar changes to v2.
SOLR-15737 strives to ensure that each v1 API has a v2 equivalent, but this only ensures consistency at a point in time. To prevent any new gaps from opening up, we should find some way to ensure that any further API additions include v2.
Up for debate is what the best way to do this is.
Though other better ones might be possible, one approach would be to refactor SolrJ's SolrRequest classes to be implemented to use the annotated v2 POJOs that define many V2 APIs. This would force devs looking to expose a new API param in SolrJ to first add it to the corresponding V2 Api POJO. (Though it wouldn't provide much enforcement for totally new API endpoints.)
Attachments
Issue Links
- is a child of
-
SOLR-15734 Prepare v2 API for v1 deprecation, eventual removal
- Open
- is related to
-
SOLR-16745 Consolidate DelegatedSolrQueryRequest and DelegatingSolrQueryRequest
- Closed
- links to