[jira] [Commented] (SOLR-12756) Refactor Assign and extract replica placement strategies out of it

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (SOLR-12756) Refactor Assign and extract replica placement strategies out of it

JIRA jira@apache.org

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

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

Here is a WIP patch that extracts out three strategies into a (temporarily named) new Assign2 class. A builder is used to create an assignment request. A factory class creates the right strategy based on request and collection parameters. Still more work needs to be done:
# Separate maxShardsPerNode handling from getNodesForNewReplicas method
# Combine the identifyNodes and getNodesForNewReplicas methods
# Cut over all API classes to call the combined method instead of deciding strategy themselves

> Refactor Assign and extract replica placement strategies out of it
> ------------------------------------------------------------------
>
>                 Key: SOLR-12756
>                 URL: https://issues.apache.org/jira/browse/SOLR-12756
>             Project: Solr
>          Issue Type: Task
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: SolrCloud
>            Reporter: Shalin Shekhar Mangar
>            Assignee: Shalin Shekhar Mangar
>            Priority: Minor
>             Fix For: 7.6, master (8.0)
>
>         Attachments: SOLR-12756.patch
>
>
> While working on SOLR-12648, I found Assign class to be very complex. Many methods have overlapping functionality, differ in side-effects and have non-intuitive arguments. We should clean this up and extract replica placement strategies out of that class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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