Jason Gerlowski created SOLR-15736:
--------------------------------------

             Summary: Enforce ongoing v1<->v2 API consistency
                 Key: SOLR-15736
                 URL: https://issues.apache.org/jira/browse/SOLR-15736
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
          Components: v2 API
            Reporter: Jason Gerlowski


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-????? 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.)



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

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

Reply via email to