cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-2540) Data reads by default
Date Fri, 22 Apr 2011 12:58:05 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-2540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023208#comment-13023208
] 

Sylvain Lebresne commented on CASSANDRA-2540:
---------------------------------------------

bq. so I think we don't expect the dynamic snitch to kick in until RPC timeouts

True for dead or in very bad shape node, and in my opinion avoiding a single dead node to
fail a QUORUM request is clearly the most important part of this ticket. However for node
getting saturated, this usually is at least slightly gradual so the dynamic snitch should
adapt and start avoiding the node "long" before it actually stop responding. That's, I think,
when the dynamic snitch make sense, dead node are a job for the failure detector.

> Data reads by default
> ---------------------
>
>                 Key: CASSANDRA-2540
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2540
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Stu Hood
>             Fix For: 0.8.0
>
>
> The intention of digest vs data reads is to save bandwidth in the read path at the cost
of latency, but I expect that this has been a premature optimization.
> * Data requested by a read will often be within an order of magnitude of the digest size,
and a failed digest means extra roundtrips, more bandwidth
> * The [digest reads but not your data read|https://issues.apache.org/jira/browse/CASSANDRA-2282?focusedCommentId=13004656&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13004656]
problem means failing QUORUM reads because a single node is unavailable, and would require
eagerly re-requesting at some fraction of your timeout
> * Saving bandwidth in cross datacenter usecases comes at huge cost to latency, but since
both constraints change proportionally (enough), the tradeoff is not clear
> Some options:
> # Add an option to use digest reads
> # Remove digest reads entirely (and/or punt and make them a runtime optimization based
on data size in the future)
> # Continue to use digest reads, but send them to {{N - R}} nodes for (somewhat) more
predicatable behavior with QUORUM
> \\
> The outcome of data-reads-by-default should be significantly improved latency, with a
moderate increase in bandwidth usage for large reads.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message