cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-6507) counters++ get rid of logical clock in global shards
Date Thu, 19 Dec 2013 02:12:08 GMT
Aleksey Yeschenko created CASSANDRA-6507:

             Summary: counters++ get rid of logical clock in global shards
                 Key: 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
white paper.

This message was sent by Atlassian JIRA

View raw message