[
https://issues.apache.org/jira/browse/SOLR-16806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17733154#comment-17733154
]
ASF subversion and git services commented on SOLR-16806:
--------------------------------------------------------
Commit de5d1aaec7d5269ebd60ba8e73f06dc31a98887d in solr's branch
refs/heads/main from Houston Putman
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=de5d1aaec7d ]
SOLR-16806: Create a BalanceReplicas API (#1650)
- Introduce BalanceReplicasAPI
- Add computeReplicaBalancing() in Assign, and computeBalancing() in
PlacementPlugin.
The default implementation returns an empty balancePlan (moving no replicas).
- Refactor all provided PlacementPlugins, to implement
OrderedNodePlacementPlugin,
and share a common way of computing placements and balancing.
Also fixes SOLR-16816, updating metrics when doing multi-shard/collection
placements.
> Add a BalanceReplicas API
> -------------------------
>
> Key: SOLR-16806
> URL: https://issues.apache.org/jira/browse/SOLR-16806
> Project: Solr
> Issue Type: Sub-task
> Reporter: Houston Putman
> Priority: Major
> Time Spent: 6h 50m
> Remaining Estimate: 0h
>
> Currently there is no way to move replicas to a new, empty, Solr node,
> without manually choosing the replicas yourself, and moving/recreating the
> replicas. The logic we would need for this is to choose the best replicas to
> move to an empty Solr node, and stop when that Solr node reaches an
> "equilibrium" with the rest of the cluster.
> This logic is very close to merely balancing the existing replicas across a
> given set of nodes. So instead of creating a similar command that solves a
> subset of use-cases, it is probably worth it to take a bit more effort and
> create the general balance-replicas API to solve all balancing use-cases.
> The API would be quite simple. It would be something like {*}POST
> "/api/cluster/replicas/balance"{*}, and it would take in a list of nodes:
> {"nodes": [ "node1", "node2" ]}
> If no nodes were provided in the request body, then Solr would default to
> balancing across all data nodes.
> I don't see a need to write a V1 API for this.
> This requires adding method signatures to the PlacementPlugin, but we can
> make them default to a NO-OP, preserving compatibility for existing
> custom-plugins.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]