Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Fix Version/s: 2.0.6
    • Component/s: Core
    • Labels:
      None

      Description

      We need a 'balance' utility similar to move without a token, in the cases where entropy is not your friend and gives you an unbalanced cluster (I've seen up to a 7% discrepancy myself)

      1. 4445.txt
        3 kB
        Brandon Williams

        Issue Links

          Activity

          Hide
          Erik Forsberg added a comment -

          For others who come here and happily find there's a tool for moving tokens, please note that this tool was removed in CASSANDRA-7601.

          Show
          Erik Forsberg added a comment - For others who come here and happily find there's a tool for moving tokens, please note that this tool was removed in CASSANDRA-7601 .
          Hide
          Fan Lee added a comment -

          Cassandra uses moving node to balance, moving data manually, just by using the command of nodetool move? Is there an automatic service to complete data moving?

          Show
          Fan Lee added a comment - Cassandra uses moving node to balance, moving data manually, just by using the command of nodetool move? Is there an automatic service to complete data moving?
          Hide
          Benedict added a comment -

          No, currently they are randomly allocated resulting in a variability of balance to the ring. See CASSANDRA-7032

          Show
          Benedict added a comment - No, currently they are randomly allocated resulting in a variability of balance to the ring. See CASSANDRA-7032
          Hide
          Fan Lee added a comment -

          I have a question about the partitioning schema of Cassandra. Is all the ranges of each vnodes in the Cassandra system are equal?

          Show
          Fan Lee added a comment - I have a question about the partitioning schema of Cassandra. Is all the ranges of each vnodes in the Cassandra system are equal?
          Hide
          Brandon Williams added a comment -

          Committed.

          Show
          Brandon Williams added a comment - Committed.
          Hide
          Jonathan Ellis added a comment -

          +1

          Show
          Jonathan Ellis added a comment - +1
          Hide
          Brandon Williams added a comment -

          You'd almost get a very weird way to decommission a node, except the system table would throw an assertion. Updated patch won't let you relocate a token if the source node doesn't have more than one token.

          Show
          Brandon Williams added a comment - You'd almost get a very weird way to decommission a node, except the system table would throw an assertion. Updated patch won't let you relocate a token if the source node doesn't have more than one token.
          Hide
          Jonathan Ellis added a comment -

          What happens if I run this against a non-vnode cluster?

          Show
          Jonathan Ellis added a comment - What happens if I run this against a non-vnode cluster?
          Hide
          Brandon Williams added a comment -

          Since we already expose everything we need via jmx, simple patch to expose 'taketoken' to nodetool, which will relocate the tokens from wherever they exist to the node it is called against.

          Show
          Brandon Williams added a comment - Since we already expose everything we need via jmx, simple patch to expose 'taketoken' to nodetool, which will relocate the tokens from wherever they exist to the node it is called against.
          Hide
          Brandon Williams added a comment -

          I think that given the difficulty of doing this programmatically, even if we knew the load per token (which we don't), the best thing to do here is expose relocate to the user and let them manage it themselves, if need be.

          Show
          Brandon Williams added a comment - I think that given the difficulty of doing this programmatically, even if we knew the load per token (which we don't), the best thing to do here is expose relocate to the user and let them manage it themselves, if need be.

            People

            • Assignee:
              Brandon Williams
              Reporter:
              Brandon Williams
              Reviewer:
              Jonathan Ellis
            • Votes:
              3 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development