You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "David Smiley (Jira)" <ji...@apache.org> on 2023/05/18 21:08:00 UTC

[jira] [Commented] (SOLR-16806) Add a BalanceReplicas API

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

David Smiley commented on SOLR-16806:
-------------------------------------

Why HTTP *PUT*; is it JSON that is subsequently retrievable?  If so then I could understand.  If it's a command (as it looks because the path looks like a verb), then *POST* would be a better choice IMO.

bq. Currently there is no way to move replicas to a new, empty, Solr node.

Surely you don't mean that; one could move them one by one.  That is "a way".  Maybe not convenient, and there is a desire for balancing sophistication/rules, and that's your point.

> 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
>
> Currently there is no way to move replicas to a new, empty, Solr node. 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 matches 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 {*}PUT "/api/cluster/balanceReplicas"{*}, 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: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org