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

Andrzej Bialecki commented on SOLR-14680:
-----------------------------------------

{quote}So, you build everything together and and commit everything altogether?
{quote}
Not everything, but at least *some* working parts, even one.

BTW. this has been the way we've been introducing new APIs so far, and there's 
a very good reason for this: there's no proof (as in working code) that the new 
APIs are correct or sufficient for their purpose. I mentioned that they are 
similar (but different) from the APIs we're considering in PR 1684, but IMHO 
your version doesn't sufficiently model even the current data, such as eg. 
arbitrary collection or shard properties, or shard and replica state. There's 
no explanation why you omitted this data because there's neither a design doc 
nor any working code.

Poor formatting and failing precommit are easily rectified, but the above 
issues require a much better explanation that what we have now.
{quote}This is how I wish to go about this
 * Build the APIs, we should keep it to just the interfaces so that people get 
to comment on what it is
 * We should build one implementation of these interfaces{quote}
 

And that's the phase where I think it would be justified to commit it. Show me 
a few existing components that can use this new API to prove that it's accurate 
and sufficient for the purpose.

 
{quote} * We should slowly refactor our code to use these APIs{quote}
I agree - but it's a huge task and I'm not sure there's enough manpower 
dedicated to fully do this refactoring both in 9.0 and in 8x. That's why I 
think this should go first to 9.0, which is the right place for the new APIs to 
be "baked in", and then possibly be back-ported to 8x after initial bugs and 
issues are resolved and if there's enough manpower to actually complete this 
refactoring there (and whether it brings such benefits to 8x that it's worth 
the effort).

As for the back-compat - sure, we can preserve the back-compat in 8x but at 
what cost? Just re-packaging {{ClusterState}} with all its components will be 
messy, and that's the API that is exposed to clients.
{quote}bq. Once we are reasonably happy about the APIs
{quote}
Exactly - that's why the place for these new APIs is in 9.0 and not in 8x.
{quote}There is not point in introducing fresh new APIs in 9.0.
{quote}
Excuse me? that's the whole point of 9.0.

> Provide simple interfaces to our concrete SolrCloud classes
> -----------------------------------------------------------
>
>                 Key: SOLR-14680
>                 URL: https://issues.apache.org/jira/browse/SOLR-14680
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>            Priority: Minor
>          Time Spent: 10.5h
>  Remaining Estimate: 0h
>
> All our current implementations of SolrCloud such as 
> # ClusterState
> # DocCollection
> # Slice
> # Replica
> etc are concrete classes. Providing alternate implementations or wrappers is 
> extremely difficult. 
> SOLR-14613 is attempting to create  such interfaces to make their sdk simpler
> The objective is not to have a comprehensive set of methods in these 
> interfaces. We will start out with a subset of required interfaces. We 
> guarantee is that signatures of methods in these interfaces will not be 
> deleted/changed . But we may add more methods as and when it suits us



--
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