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

Shalin Shekhar Mangar commented on SOLR-7789:
---------------------------------------------

{quote}
I am trying to accomplish the following:
#1 Add another OverseerMessageHandler (OverseerConfigSetMessageHandler) to 
handle ConfigSet-related operations.
#2 From the perspective of the non-overseer (i.e. the ConfigSetsHandler), it 
looks like the operations are written to a separate queue from the collection 
queue, i.e. getOverseerConfigSetQueue()
#3 Since the ConfigSet operations are most likely rare and fast, it made sense 
to just use the existing collections queue "under the covers" and handle the 
dispatch separately. The naming here breaks the illusion of #2, i.e. if I 
return an OverseerCollectionQueue it's pretty obvious to the non-overseer 
what's going on.
{quote}

Why should there be a separate queue for such operations? i.e. Why should 
ZkController have method called getOverseerConfigSetQueue() at all? It should 
just use the collection queue. Similarily why does this API need a new 
ConfigSetsHandler and not use CollectionsHandler?

bq. Short term: rename OverseerCollectionQueue to something more 
generic...DistributedTaskQueue? DistributedAsyncAwareQueue? There's nothing in 
there that is actually collection specific (which is why it works for the 
ConfigSet operations)

The only reason why it is called a OverseerCollectionQueue is to indicate that 
it is the queue for OverseerCollectionProcessor.

TBH, all this refactoring of OverseerCollectionProcessor confuses me very much. 
It looks like you want the APIs and tasks run in the overseer to be pluggable 
but I haven't noticed you saying that anywhere. In the absence of them being 
truly pluggable, the current API has become more complicated than it was 
before. We do not need complex dispatch mechanisms in the collection processor. 
If you think that it is wrong to perform tasks that do not involve a Collection 
then it could simply be renamed to OverseerTaskProcessor and we can be done. 
Btw we have had APIs such as clusterprops and request_status in the overseer 
collection processor and I don't think it is confusing anyone.

> Introduce a ConfigSet management API
> ------------------------------------
>
>                 Key: SOLR-7789
>                 URL: https://issues.apache.org/jira/browse/SOLR-7789
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Gregory Chanan
>            Assignee: Gregory Chanan
>         Attachments: SOLR-7789.patch, SOLR-7789.patch, SOLR-7789.patch, 
> SOLR-7789.patch
>
>
> SOLR-5955 describes a feature to automatically create a ConfigSet, based on 
> another one, from a collection API call (i.e. one step collection creation).  
> Discussion there yielded SOLR-7742, Immutable ConfigSet support.  To close 
> the loop, we need support for a ConfigSet management API.
> The simplest ConfigSet API could have one operation:
> create a new config set, based on an existing one, possible modifying the 
> ConfigSet properties.  Note you need to be able to modify the ConfigSet 
> properties at creation time because otherwise Immutable could not be changed.
> Another logical operation to support is ConfigSet deletion; that may be more 
> complicated to implement than creation because you need to handle the case 
> where a collection is already using the configuration.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to