cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhu han (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-1502) remove IClock from internals
Date Mon, 27 Sep 2010 03:18:34 GMT


zhu han commented on CASSANDRA-1502:

Seems like we have not found a solution acceptable to everybody. I tries to propose a new
approach. Let's see whether anybody can shed some light on it and make it as reality.

1) We add a basic data structure, name as counter, which is a special type of super column.

2) The name of each column in the counter super column, the host name of  a node. And the
value is the calculated result from that node.

3) WRITE PATH: Once a node receives the add/dec request of a counter, it de-serializes its
local counter super column, and update the column named by itself atomically. After that,
it propagates the updated column value to other replicas, just like how the mutation of a
normal column is propagated to other replicas. Different consistency levels can be supported
as before.

4) READ PATH: Depends on the consistency level, contact several replicas, read back the counter
super column as whole, and get the latest counter value by summing up all columns in the counter.
Read-repair logic can work as before.

IMHO, the biggest advantages of this approach, is re-using as many mechanisms already in the
code as possible. So it might not so disruptive. But adding new thrift API is inevitable.

> remove IClock from internals
> ----------------------------
>                 Key: CASSANDRA-1502
>                 URL:
>             Project: Cassandra
>          Issue Type: Task
>          Components: Core
>    Affects Versions: 0.7 beta 1
>            Reporter: Jonathan Ellis
>             Fix For: 0.7.0
> finish what CASSANDRA-1501 started (i.e., finish reverting CASSANDRA-1070)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message