[
https://issues.apache.org/jira/browse/SOLR-15157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17316870#comment-17316870
]
David Smiley commented on SOLR-15157:
-------------------------------------
I noticed the new {{CollectionCommandContext}} interface and the method
{{ShardHandler getShardHandler();}} in particular had me curious what the
lifecycle of a ShardHandler is any way. An instance of ShardHandler seems to be
a temporary object used for a particular client to do a sequence of operations.
{{getShardHandler}} creates a new instance of ShardHandler via
{{HttpShardHandlerFactory.getShardHandler}}. So I think it's doing the right
thing but its name is misleading because it's creating a new instance, not
getting an existing one. A factory can be kinda forgiven because a factory
implies that the getter creates a new instance (although I would prefer a "new"
method instead of "get" nevertheless). But the new {{CollectionCommandContext}}
is not a self declared factory of ShardHandler instances; it has an innocent
looking getter there. WDYT?
> Refactor: separate Collection API commands from Overseer and message handling
> logic
> -----------------------------------------------------------------------------------
>
> Key: SOLR-15157
> URL: https://issues.apache.org/jira/browse/SOLR-15157
> Project: Solr
> Issue Type: Sub-task
> Components: SolrCloud
> Affects Versions: main (9.0)
> Reporter: Ilan Ginzburg
> Assignee: Ilan Ginzburg
> Priority: Major
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Collection API command execution happens in Overseer. The code dealing with
> Overseer specific abstractions (Collection API queue management, executing
> threads etc) is mixed with code implementing the Collection API commands.
> The goal of this ticket is refactoring the Collection API code to abstract
> anything that is related to how the Overseer executes the commands, in order
> to enable a future ticket (SOLR-15146) to introduce a distributed execution
> mode for the Collection API (and keeping the changes limited).
> This ticket does not introduce any changes regarding how the Collection API
> commands run in the Overseer. It is only refactoring the call chains to allow
> a future separation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]