[
https://issues.apache.org/jira/browse/SOLR-17535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Smiley updated SOLR-17535:
--------------------------------
Description:
To avoid creating intermediary maps for ClusterState consumers, and to limit
the direct usages of CollectionRef, I propose removing both getCollectionStates
and getCollectionsMap. This refactoring helps with any future evolution of
ClusterState. Instead, callers can use forEachCollection or a new
{{Stream<DocCollection>}} one proposed here.
{code:java}
/** Streams the resolved DocCollections. Use this sparingly in case there are
many collections. */
public Stream<DocCollection> collectionStream() {
return
collectionStates.values().stream().map(CollectionRef::get).filter(Objects::nonNull);
}
{code}
was:To avoid creating intermediary maps for ClusterState consumers, and to
limit the direct usages of CollectionRef, I propose removing both
getCollectionStates and getCollectionsMap. This also unblocks future changes
to work in a more scalable manner. Instead, callers can use forEachCollection
or a new {{Stream<DocCollection>}} one proposed here.
> Remove ClusterState.getCollectionStates() and getCollectionsMap()
> -----------------------------------------------------------------
>
> Key: SOLR-17535
> URL: https://issues.apache.org/jira/browse/SOLR-17535
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: SolrCloud
> Reporter: David Smiley
> Assignee: David Smiley
> Priority: Major
>
> To avoid creating intermediary maps for ClusterState consumers, and to limit
> the direct usages of CollectionRef, I propose removing both
> getCollectionStates and getCollectionsMap. This refactoring helps with any
> future evolution of ClusterState. Instead, callers can use forEachCollection
> or a new {{Stream<DocCollection>}} one proposed here.
> {code:java}
> /** Streams the resolved DocCollections. Use this sparingly in case there
> are many collections. */
> public Stream<DocCollection> collectionStream() {
> return
> collectionStates.values().stream().map(CollectionRef::get).filter(Objects::nonNull);
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]