incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gabriele renzi <rff....@gmail.com>
Subject Re: create only - no update
Date Wed, 16 Dec 2009 20:31:20 GMT
On Wed, Dec 16, 2009 at 12:34 AM, Brandon Williams <driftx@gmail.com> wrote:
> On Tue, Dec 15, 2009 at 5:19 PM, Brian Burruss <bburruss@real.com> wrote:
>>
>> can the cassandra client (java specifically) specify that a particular
>> "put" should be "create only, do not update"?  If the value already exists
>> in the database, i want the put to fail.  for instance, two users want the
>> exact same username, so they both do a "get" to determine if the username
>> already exists, it doesn't, so they create.  the last one to create wins,
>> correct?
>
> Correct.  You would need to implement a locking mechanism such as Zookeeper
>  in your application to get around this.

sorry for my usual stupid question, but I'm still trying to wrap my
head around cassandra...
is there a fundamental reason for not being able to provide a
putIfAbsent-like abstraction in cassandra?

If I understand correctly this can't be done in the case of network
partitioning  but it could work while the network is not split with an
operation requiring ConsistencyLevel.ALL. But this seems like it would
be still the case with any other system.
So, for unique login ids  in the case of partition there would  be a
temporary impossibility to register but in the (normal?) non
partitioned case Brian would still be able to let users register via
cassandra.

Mime
View raw message