[ https://issues.apache.org/jira/browse/CASSANDRA-1035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12883399#action_12883399 ]
Stu Hood commented on CASSANDRA-1035: ------------------------------------- Awesome work: this is a great first cut! * Should FairShareScheduler be renamed to RoundRobinScheduler, since it doesn't deal with time slices? (sorry, nitpick) * FairShareScheduler.getQueue is racy between contains/put/get: the 'queues' object should probably be replaced with NonBlockingHashMap, and putIfAbsent should be used instead of contains/put * Comments in conf/cassandra.yaml should indicate that this is specifically for _client_ requests Also, similar changes need to be made to avro.CassandraDaemon and avro.CassandraServer: you may be able to separate RequestScheduler initialization into a method of service.AbstractCassandraDaemon for use in both subclasses. > Implement User/Keyspace throughput Scheduler > -------------------------------------------- > > Key: CASSANDRA-1035 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1035 > Project: Cassandra > Issue Type: Improvement > Reporter: Stu Hood > Assignee: Nirmal Ranganathan > Fix For: 0.7 > > Attachments: > 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch, > 0002-Configuration-settings-for-RequestScheduler.patch, > 0003-Thrift-related-changes-for-RequestScheduler-added-a-.patch > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.