You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stu Hood (JIRA)" <ji...@apache.org> on 2011/03/22 19:00:11 UTC

[jira] [Created] (CASSANDRA-2364) Record dynamic snitch latencies for counter writes

Record dynamic snitch latencies for counter writes
--------------------------------------------------

                 Key: CASSANDRA-2364
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2364
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Stu Hood
            Priority: Minor
             Fix For: 0.8


The counter code chooses a single replica to coordinate a write, meaning that it should be subject to dynamic snitch latencies like a read would be. This already works when there are reads going on, because the dynamic snitch read latencies are used to pick a node to coordinate, but when there are no reads going on (such as during a backfill) the latencies do not adjust.

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

[jira] [Updated] (CASSANDRA-2364) Record dynamic snitch latencies for counter writes

Posted by "Ryan King (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ryan King updated CASSANDRA-2364:
---------------------------------

    Fix Version/s:     (was: 0.8)
                   1.0

> Record dynamic snitch latencies for counter writes
> --------------------------------------------------
>
>                 Key: CASSANDRA-2364
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2364
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>              Labels: counters
>             Fix For: 1.0
>
>
> The counter code chooses a single replica to coordinate a write, meaning that it should be subject to dynamic snitch latencies like a read would be. This already works when there are reads going on, because the dynamic snitch read latencies are used to pick a node to coordinate, but when there are no reads going on (such as during a backfill) the latencies do not adjust.

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

[jira] [Commented] (CASSANDRA-2364) Record dynamic snitch latencies for counter writes

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13009817#comment-13009817 ] 

Stu Hood commented on CASSANDRA-2364:
-------------------------------------

What about tracking write latencies using a separate metric set? Alternatively, if the snitch had less than RF scores, it could choose a random node.

Choosing unbalanced write coordinators for counters would only cause imbalances pre-replication: if repair is running frequently (repair-on-write, read-repair, AES, etc), the load is balanced according to the tokens, as usual.

I agree that adding things that are really counter specific is not healthy, unless they also help to set us up for other atomic features in the future.

> Record dynamic snitch latencies for counter writes
> --------------------------------------------------
>
>                 Key: CASSANDRA-2364
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2364
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>              Labels: counters
>             Fix For: 0.8
>
>
> The counter code chooses a single replica to coordinate a write, meaning that it should be subject to dynamic snitch latencies like a read would be. This already works when there are reads going on, because the dynamic snitch read latencies are used to pick a node to coordinate, but when there are no reads going on (such as during a backfill) the latencies do not adjust.

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

[jira] [Commented] (CASSANDRA-2364) Record dynamic snitch latencies for counter writes

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13009756#comment-13009756 ] 

Jonathan Ellis commented on CASSANDRA-2364:
-------------------------------------------

Disagree that we want to pollute read latency info w/ writes (which are almost impossible to slow down, so you're basically just measuring network latency and mixing that low-value info w/ the high-value signal the reads).

Also: always choosing the closest node to be the write coordinator seems like you lose the benefits of counter partitioning.

Suggest using static snitch info to prefer a coordinator from the local DC and randomly pick from those.

> Record dynamic snitch latencies for counter writes
> --------------------------------------------------
>
>                 Key: CASSANDRA-2364
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2364
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>              Labels: counters
>             Fix For: 0.8
>
>
> The counter code chooses a single replica to coordinate a write, meaning that it should be subject to dynamic snitch latencies like a read would be. This already works when there are reads going on, because the dynamic snitch read latencies are used to pick a node to coordinate, but when there are no reads going on (such as during a backfill) the latencies do not adjust.

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