You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Nicholas Telford (JIRA)" <ji...@apache.org> on 2011/07/18 16:40:58 UTC

[jira] [Issue Comment Edited] (CASSANDRA-2034) Make Read Repair unnecessary when Hinted Handoff is enabled

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

Nicholas Telford edited comment on CASSANDRA-2034 at 7/18/11 2:40 PM:
----------------------------------------------------------------------

bq. Don't hints timeout?

Yes, the timeout is set to the GCGraceSeconds of the CF the hint is for. This is to prevent deletes from being undone by an old hint being replayed.

Post-#2045 hints contain the RM for multiple CFs; as such, the TTL for a hint is the minimum GCGraceSeconds from all of the CFs it references. This could cause hints to expire before delivery if one of the CFs for a mutation has a particularly short GCGraceSeconds.

      was (Author: nicktelford):
    .bq Don't hints timeout?

Yes, the timeout is set to the GCGraceSeconds of the CF the hint is for. This is to prevent deletes from being undone by an old hint being replayed.

Post-#2045 hints contain the RM for multiple CFs; as such, the TTL for a hint is the minimum GCGraceSeconds from all of the CFs it references. This could cause hints to expire before delivery if one of the CFs for a mutation has a particularly short GCGraceSeconds.
  
> Make Read Repair unnecessary when Hinted Handoff is enabled
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-2034
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2034
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Patricio Echague
>             Fix For: 1.0
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> Currently, HH is purely an optimization -- if a machine goes down, enabling HH means RR/AES will have less work to do, but you can't disable RR entirely in most situations since HH doesn't kick in until the FailureDetector does.
> Let's add a scheduled task to the mutate path, such that we return to the client normally after ConsistencyLevel is achieved, but after RpcTimeout we check the responseHandler write acks and write local hints for any missing targets.
> This would making disabling RR when HH is enabled a much more reasonable option, which has a huge impact on read throughput.

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