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.rac...@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/

Reply via email to