Cassandra
  1. Cassandra
  2. CASSANDRA-1035

Implement User/Keyspace throughput Scheduler

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 0.7 beta 1
    • Component/s: None
    • Labels:
      None

      Description

      To support multiple applications on top of a single Cassandra cluster (and to protect against badly behaving clients) having a very simple scheduler for client operations would be very beneficial.

      Since all tasks are short lived, a sufficient scheduler would probably only need to manage the queue of incoming requests, and weight them based on an assigned ID. The ID could be dynamically determined by using ip, userid or keyspace for instance, and then each Runnable would be assigned an ID.

      1. Cassandra-1035.patch
        40 kB
        Nirmal Ranganathan
      2. 1035-v5.patch
        35 kB
        Nirmal Ranganathan
      3. 1035-v4.txt
        33 kB
        Jonathan Ellis
      4. 1035-v3.patch
        35 kB
        Nirmal Ranganathan
      5. 1035-v2.txt
        36 kB
        Jonathan Ellis
      6. 0005-Add-options-for-throttling.patch
        23 kB
        Nirmal Ranganathan
      7. 0004-Test-case-for-RoundRobinScheduler.patch
        6 kB
        Nirmal Ranganathan
      8. 0003-Avro-related-changes-for-RequestScheduler.patch
        7 kB
        Nirmal Ranganathan
      9. 0002-Thrift-related-changes-for-RequestScheduler-added-a-.patch
        4 kB
        Nirmal Ranganathan
      10. 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch
        16 kB
        Nirmal Ranganathan

        Activity

        Stu Hood created issue -
        Stu Hood made changes -
        Field Original Value New Value
        Description To support multiple applications on top of a single Cassandra cluster (and to protect against badly behaving clients) having a very simple scheduler for MUTATION-STAGE and READ-STAGE would be very beneficial.

        Since all tasks are short lived, a sufficient scheduler would probably only need to manage the queue of incoming requests, and weight them based on an assigned ID. The ID could be dynamically determined by using ip, userid or keyspace for instance, and then each Runnable would be assigned an ID.
        To support multiple applications on top of a single Cassandra cluster (and to protect against badly behaving clients) having a very simple scheduler for client operations would be very beneficial.

        Since all tasks are short lived, a sufficient scheduler would probably only need to manage the queue of incoming requests, and weight them based on an assigned ID. The ID could be dynamically determined by using ip, userid or keyspace for instance, and then each Runnable would be assigned an ID.
        Jeremy Hanna made changes -
        Fix Version/s 0.7 [ 12314533 ]
        Nirmal Ranganathan made changes -
        Attachment 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch [ 12448248 ]
        Attachment 0002-Configuration-settings-for-RequestScheduler.patch [ 12448249 ]
        Attachment 0003-Thrift-related-changes-for-RequestScheduler-added-a-.patch [ 12448250 ]
        Stu Hood made changes -
        Assignee Nirmal Ranganathan [ rnirmal ]
        Nirmal Ranganathan made changes -
        Attachment 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch [ 12448248 ]
        Nirmal Ranganathan made changes -
        Attachment 0002-Configuration-settings-for-RequestScheduler.patch [ 12448249 ]
        Nirmal Ranganathan made changes -
        Attachment 0003-Thrift-related-changes-for-RequestScheduler-added-a-.patch [ 12448250 ]
        Nirmal Ranganathan made changes -
        Attachment 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch [ 12448329 ]
        Attachment 0002-Thrift-related-changes-for-RequestScheduler-added-a-.patch [ 12448330 ]
        Attachment 0003-Avro-related-changes-for-RequestScheduler.patch [ 12448331 ]
        Nirmal Ranganathan made changes -
        Nirmal Ranganathan made changes -
        Attachment 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch [ 12448329 ]
        Nirmal Ranganathan made changes -
        Attachment 0002-Thrift-related-changes-for-RequestScheduler-added-a-.patch [ 12448330 ]
        Nirmal Ranganathan made changes -
        Attachment 0003-Avro-related-changes-for-RequestScheduler.patch [ 12448331 ]
        Stu Hood made changes -
        Attachment 0005-Minimize-queue-creation-and-remove-redundant-schedul.patch [ 12448355 ]
        Nirmal Ranganathan made changes -
        Attachment 0005-Add-options-for-throttling.patch [ 12448511 ]
        Stu Hood made changes -
        Attachment 0005-Minimize-queue-creation-and-remove-redundant-schedul.patch [ 12448355 ]
        Nirmal Ranganathan made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Affects Version/s 0.7 [ 12314533 ]
        Nirmal Ranganathan made changes -
        Attachment Cassandra-1035.patch [ 12448734 ]
        Nirmal Ranganathan made changes -
        Attachment Cassandra-1035.patch [ 12448734 ]
        Nirmal Ranganathan made changes -
        Attachment Cassandra-1035.patch [ 12448791 ]
        Jonathan Ellis made changes -
        Attachment 1035-v2.txt [ 12448875 ]
        Nirmal Ranganathan made changes -
        Attachment 1035-v3.patch [ 12448899 ]
        Jonathan Ellis made changes -
        Attachment 1035-v4.txt [ 12448905 ]
        Nirmal Ranganathan made changes -
        Attachment 1035-v5.patch [ 12448921 ]
        Jonathan Ellis made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Gavin made changes -
        Workflow no-reopen-closed, patch-avail [ 12509687 ] patch-available, re-open possible [ 12752223 ]
        Gavin made changes -
        Workflow patch-available, re-open possible [ 12752223 ] reopen-resolved, no closed status, patch-avail, testing [ 12758197 ]

          People

          • Assignee:
            Nirmal Ranganathan
            Reporter:
            Stu Hood
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development