You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksey Yeschenko (JIRA)" <ji...@apache.org> on 2013/12/19 12:37:07 UTC

[jira] [Resolved] (CASSANDRA-6507) counters++ get rid of logical clock in global shards

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

Aleksey Yeschenko resolved CASSANDRA-6507.
------------------------------------------

    Resolution: Not A Problem

The slight benefits of this issue are not worth sacrificing the simplicity that CASSANDRA-6506 brings, thus not-a-problem-ing it.

> counters++ get rid of logical clock in global shards
> ----------------------------------------------------
>
>                 Key: CASSANDRA-6507
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6507
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 2.1
>
>
> In CASSANDRA-6504 the global shards still follow the {count, logical clock} pattern of the legacy shards. We could store the {increments, decrements} tuple in the shard instead, and for reconcile, instead of relying on the logical clock, pick the largest value of `increments` and `decrements` of the two shards, and use that.
> E.g., shard1: {2000, 1001} (total 999), shard2: {2001, 1000} (total 1001). reconciled = {max(2000, 2001), max(1001, 1000)} = {2001, 1001} (total 1000).
> While scenarios like this generally shouldn't happen post CASSANDRA-6504, this change costs us nothing, and makes issues like CASSANDRA-4417 theoretically impossible	. This also makes our new implementation directly follow the http://hal.inria.fr/docs/00/55/55/88/PDF/techreport.pdf white paper.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)