[
https://issues.apache.org/jira/browse/CASSANDRA-1035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885982#action_12885982
]
Jonathan Ellis commented on CASSANDRA-1035:
-------------------------------------------
Right, it looks like what you want is just a SynchronousQueue per keyspace.
Manual wait/notify is more code and error-prone (see the javadoc for wait() --
"A thread can also wake up without being notified, interrupted, or timing out,
a so-called spurious wakeup...")
Go ahead and just initialize the scheduler in DD, we already do this with e.g.
the partitioner.
> Implement User/Keyspace throughput Scheduler
> --------------------------------------------
>
> Key: CASSANDRA-1035
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1035
> Project: Cassandra
> Issue Type: Improvement
> Affects Versions: 0.7
> Reporter: Stu Hood
> Assignee: Nirmal Ranganathan
> Fix For: 0.7
>
> Attachments:
> 0001-Adding-the-RequestScheduler-abstraction-and-a-simple.patch,
> 0002-Thrift-related-changes-for-RequestScheduler-added-a-.patch,
> 0003-Avro-related-changes-for-RequestScheduler.patch,
> 0004-Test-case-for-RoundRobinScheduler.patch,
> 0005-Add-options-for-throttling.patch, 1035-v2.txt, Cassandra-1035.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.