[ 
https://issues.apache.org/jira/browse/CASSANDRA-5239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5239:
----------------------------------------
    Assignee:     (was: Sylvain Lebresne)

> Asynchronous (non-blocking) StorageProxy
> ----------------------------------------
>
>                 Key: CASSANDRA-5239
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5239
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.0 beta 1
>            Reporter: Vijay
>              Labels: performance
>             Fix For: 3.0
>
>
> Problem Statement: 
> Currently we have "rpc_min_threads, rpc_max_threads"/ 
> "native_transport_min_threads/native_transport_max_threads" all of the 
> threads in the TPE are blocking and takes resources, the threads are mostly 
> sleeping. Increasing the Context switch costs.
> Details: 
> We should change StorageProxy methods to provide a callback which contains 
> the location where the results has to be written. When the response arrive 
> StorageProxy callback can write the results directly into the connection. 
> Timeouts can be handled in the same way.
> Fixing Netty should be trivial with some refactor in the storage proxy 
> (currently it is one method call for sending the request and waiting) we need 
> callback.
> Fixing Thrift may be harder because thrift calls the method and expects a 
> return value. We might need to write a custom Codec on Netty for thrift 
> support, which can potentially do callbacks (A Custom codec may be similar to 
> http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster_1656.html
>  but we dont know details about it). Another option is to update thrift to 
> have a callback.
> FYI, The motivation for this ticket is from another project which i am 
> working on with similar Proxy (blocking Netty transport) and making it Async 
> gave us 2x throughput improvement.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to