You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Noble Paul (Jira)" <ji...@apache.org> on 2020/09/01 01:14:00 UTC

[jira] [Commented] (SOLR-14680) Provide simple interfaces to our concrete SolrCloud classes

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

Noble Paul commented on SOLR-14680:
-----------------------------------

Thanks for the review [~ab]

{quote} why not use the standard getters, like getCollections(), getNodes() etc? {quote}

The reason is that SolrCluster APIs are read-only APIs. if there is  no corresponding setter method why bother with getX()

{quote}It's a simpler, more scalable, and more transparent API than hiding the fetching & caching of values in a SimpleMap.{quote}

List<String> is neither scalable nor transparent. SimpleMap is created for avoiding the API bloat of standard java interfaces. We do not need them. OTOH, SimpleMap lets you have a minimal set of methods which can be easily implemented. If you choose to actually use a HashMap or NamedList , you could do this easily

{quote}SolrCluster.collections - this unnecessarily returns a map of SolrCollection, {quote}
SolrCluster.collections  does not return a Map, It returns a SimpleMap. neither is it required to be backed by a ConcurrentHashMap map. implementations can have more efficient ways of fetching it

{quote}Again, what's wrong with standard getter names?{quote}
same. read only APIs should not need a get prefix .








> 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
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>            Priority: Minor
>              Labels: clean-api
>          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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org