[
https://issues.apache.org/jira/browse/SOLR-15803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17460973#comment-17460973
]
ASF subversion and git services commented on SOLR-15803:
--------------------------------------------------------
Commit 1fdeaa00ec389506c8a32de255f5d1495605c2d0 in solr's branch
refs/heads/main from Houston Putman
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=1fdeaa0 ]
SOLR-15803: Allow AssignStrategy to process multiple AssignRequests with
cross-coordination (#420)
> Allow AssignStrategy to process multiple AssignRequests with
> cross-coordination
> -------------------------------------------------------------------------------
>
> Key: SOLR-15803
> URL: https://issues.apache.org/jira/browse/SOLR-15803
> Project: Solr
> Issue Type: Improvement
> Components: SolrCloud
> Reporter: Houston Putman
> Assignee: Houston Putman
> Priority: Major
> Attachments: Screen Shot 2021-12-16 at 1.23.40 PM.png,
> test-collection-creation-time.sh
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> When doing testing for SOLR-15795, I found that if you have an empty node
> when running the REPLACENODE command, then many times all replicas will be
> placed on that same node, even if it doesn't result in an even distribution
> in your cluster.
> When looking at the code, it made sense. The ReplaceNodeCmd goes through a
> loop for every replica on the sourceNode, and uses the AssignStrategy class
> to assign a node for each replica, using the clusterstate. However, the
> clusterstate does not change between these replicas, so the most advantageous
> node for 1 replica, is likely going to be the most advantageous for many
> replicas given the same cluster state. Therefore all replicas were being
> scheduled for the same node in my testing.
> An easy (in theory) solution is to let AssignStrategy take a list of
> AssignRequests in assign(), and each request in this list will account for
> the replicaPlacements decided for the previous requests in the list. That
> way, the ReplaceNodeCmd can create it's list of AssignRequests, and issue
> them all at once to AssignStrategy, which will come up with the _optimal_
> plan for all replicas *together*.
> Because this is an API in assignStrategy, it will work with the new
> autoscaling APIs or using the legacy assign strategy.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]