incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tamar Fraenkel <ta...@tok-media.com>
Subject Re: Counter question
Date Thu, 29 Mar 2012 12:37:23 GMT
Thanks! will do.
Tamar
*Tamar Fraenkel *
Senior Software Engineer, TOK Media

[image: Inline image 1]

tamar@tok-media.com
Tel:   +972 2 6409736
Mob:  +972 54 8356490
Fax:   +972 2 5612956





On Thu, Mar 29, 2012 at 12:11 PM, Shimi Kiviti <shimi.k@gmail.com> wrote:

> You set the consistency with every request.
> Usually a client library will let you set a default one for all write/read
> requests.
> I don't know if Hector lets you set a default consistency level per CF.
> Take a look at the Hector docs or ask it in the Hector mailing list.
>
> Shimi
>
>
> On Thu, Mar 29, 2012 at 11:47 AM, Tamar Fraenkel <tamar@tok-media.com>wrote:
>
>> Can this be set on a CF basis.
>> Only this CF needs higher consistency level.
>> Thanks,
>> Tamar
>>
>> *Tamar Fraenkel *
>> Senior Software Engineer, TOK Media
>>
>> [image: Inline image 1]
>>
>> tamar@tok-media.com
>> Tel:   +972 2 6409736
>> Mob:  +972 54 8356490
>> Fax:   +972 2 5612956
>>
>>
>>
>>
>>
>> On Thu, Mar 29, 2012 at 10:44 AM, Shimi Kiviti <shimi.k@gmail.com> wrote:
>>
>>> Like everything else in Cassandra, If you need full consistency you need
>>> to make sure that you have the right combination of (write consistency
>>> level) + (read consistency level)
>>>
>>> if
>>>  W = write consistency level
>>> R = read consistency level
>>> N = replication factor
>>> then
>>> W + R > N
>>>
>>> Shimi
>>>
>>>
>>> On Thu, Mar 29, 2012 at 10:09 AM, Tamar Fraenkel <tamar@tok-media.com>wrote:
>>>
>>>> Hi!
>>>> Asking again, as I didn't get responses :)
>>>>
>>>> I have a ring with 3 nodes and replication factor of 2.
>>>> I have counter cf with the following definition:
>>>>
>>>> CREATE COLUMN FAMILY tk_counters
>>>>     with comparator = 'UTF8Type'
>>>>     and default_validation_class = 'CounterColumnType'
>>>>     and key_validation_class = 'CompositeType(UTF8Type,UUIDType)'
>>>>     and replicate_on_write = true;
>>>>
>>>> In my code (Java, Hector), I increment a counter and then read it.
>>>> Is it possible that the value read will be the value before increment?
>>>> If yes, how can I ensure it does not happen. All my reads and writes
>>>> are done with consistency level one.
>>>> If this is consistency issue, can I do only the actions on tk_counters
>>>> column family with a higher consistency level?
>>>> What does replicate_on_write mean? I thought this should help, but
>>>> maybe even if replicating after write, my read happen before
>>>> replication finished and it returns value from a still not updated
>>>> node.
>>>>
>>>> My increment code is:
>>>>     Mutator<Composite> mutator =
>>>>             HFactory.createMutator(keyspace,
>>>>                     CompositeSerializer.get());
>>>>     mutator.incrementCounter(key,"tk_counters", columnName, inc);
>>>>     mutator.execute();
>>>>
>>>> My read counter code is:
>>>>     CounterQuery<Composite,String> query =
>>>>             createCounterColumnQuery(keyspace,
>>>>                     CompositeSerializer.get(), StringSerializer.get());
>>>>     query.setColumnFamily("tk_counters");
>>>>     query.setKey(key);
>>>>     query.setName(columnName);
>>>>     QueryResult<HCounterColumn<String>> r = query.execute();
>>>>     return r.get().getValue();
>>>>
>>>> Thanks,
>>>> *Tamar Fraenkel *
>>>> Senior Software Engineer, TOK Media
>>>>
>>>> [image: Inline image 1]
>>>>
>>>> tamar@tok-media.com
>>>> Tel:   +972 2 6409736
>>>> Mob:  +972 54 8356490
>>>> Fax:   +972 2 5612956
>>>>
>>>>
>>>>
>>>>
>>>
>>
>

Mime
View raw message