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

Reply via email to