Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Implemented
    • None
    • 9.3
    • None
    • None

    Description

      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. 

      Attachments

        Issue Links

          Activity

            People

              houston Houston Putman
              houston Houston Putman
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 6h 50m
                  6h 50m