Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-9509

Streams throughput control

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Low
    • Resolution: Unresolved
    • None
    • Local/Config
    • Operability

    Description

      Currently, I have to keep tuning stream throughput all the time manually (through nodetool setstreamthroughput) since the same value stands for example for a decommission or a removenode. The point is in first case data goes from 1 to N nodes (and is obviously limited by the node sending), in the second it goes from ALL to N nodes (N being number of nodes - 1). While removing a node with 'nodetool removenode', throughput limit will not be reached in most cases, and all the nodes will be under heavy load. So with the same value of stream throughput, we send N times faster on a removenode than using decommission to the nodes receiving the data.

      An other example is running repair. We have 20 nodes, taking 2+ days to repair data, and repair have to run within 10 days, can't be one at the time, and stream throughput needs to be adjusted accordingly.

      Is there a way to:

      • limit incoming streaming throughput on a node ?
      • limit outgoing streaming speed, make sure all the nodes never send more than x Mbps per second to any other node?
      • make streaming processes a background task (using remaining resources only, handle priority) ?

      If none of those ideas are doable, can we imagine to dissociate stream throughputs depending on the operation '1 to many' and 'many to 1' (decommission, rebuild, bootstrap) AND 'N to N' (repairs, removenode), to configure them individually in cassandra.yaml ?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              arodrime Alain RODRIGUEZ
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated: