cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ali Akhtar <ali.rac...@gmail.com>
Subject Re: Consistency when adding data to collections concurrently?
Date Sun, 13 Nov 2016 12:25:58 GMT
If I wanted to get all values for an item, including its labels, how would
that be done in the above case?

Also can you make a UDT a clustered key?

On Sun, Nov 13, 2016 at 4:33 AM, Manoj Khangaonkar <khangaonkar@gmail.com>
wrote:

> Hi,
>
> Instead of using a collection, consider making label a clustered column.
>
> With this each request will essentially append a column (label) to the
> partition.
>
> To get all labels would be a simple query
>
> select label from table where partitionkey = "value".
>
> In general , read + update  of a column is an anti pattern in cassandra -
> which is what you are doing. What I suggesting
> above is appending more columns and not updating existing columns.
>
> regards
>
> regards
>
> On Sat, Nov 12, 2016 at 2:34 AM, Ali Akhtar <ali.rac200@gmail.com> wrote:
>
>> I have a table where each record contains a list<string> of labels.
>>
>> I have an endpoint which responds to new labels being added to a record
>> by the user.
>>
>> Consider the following scenario:
>>
>> - Record X, labels = []
>> - User selects 2 labels, clicks a button, and 2 http requests are
>> generated.
>> - The server receives request for Label 1 and Label 2 at the same time.
>> - Both requests see the labels as empty, add 1 label to the collection,
>> and send it.
>> - Record state as label 1 request sees it: [1], as label 2 sees it: [2]
>>
>> How will the above conflict be resolved? What can I do so I end up with
>> [1, 2] instead of either [1] or [2] after both requests have been processed?
>>
>
>
>
> --
> http://khangaonkar.blogspot.com/
>

Mime
View raw message