Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Ben Slater
Yep, you would have to select the whole map and then pull out the particular value you want in your application. I didn’t actually realise you couldn’t just specify a particular map element in a select like you can in an update but it appears there is a long running Jira for this:

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Mickael Delanoë
I can't do this, otherwhise i won't be able to query the item_id using a key with a query like : Select * from item_id_by_key where user_id=... and key= Le 25 oct. 2016 07:15, "Ben Slater" a écrit : > Move item_id_by_key into a collection field in item table?

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Ben Slater
Move item_id_by_key into a collection field in item table? (Would probably be a “better” C* data model anyway.) On Tue, 25 Oct 2016 at 16:08 Mickael Delanoë wrote: > Ok, I understand, thanks. > So now i would like to know if there is some best practices to do what i >

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Mickael Delanoë
Ok, I understand, thanks. So now i would like to know if there is some best practices to do what i want. I.e inserting entries in several tables (with same partition key) only if there is not already an entry in the main table. Keep in mind i wanted to do that inside a single batch because I can

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread DuyHai Doan
"So I guess in that case the Paxos operation does not span multiple table but operates only the table that has the condition. Am I wrong?" --> The fact that you're using a BATCH with LWT means that either ALL statements succeed or NONE. And to guarantee this, Paxos ballot must cover all

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Mickael Delanoë
Thanks DuyHai for the info. I already see this JIRA, however the use case I describe is slightly different from the JIRA as there is only ONE condition on ONE table. Other statements of the batch does not have any condition. So I guess in that case the Paxos operation does not span multiple table

Re: Lightweight transaction inside a batch : request rejected

2016-10-24 Thread DuyHai Doan
As far as I remember, there is an optimization in Cassandra to manage Paxos ballot per table. So asking a Paxos operation to span multiple tables (even if same partition key) would require a lot of changes in the current impl. The question has already been raised, you may want to convince the

Lightweight transaction inside a batch : request rejected

2016-10-24 Thread Mickael Delanoë
Hi, I would like to use lightweight transaction inside a batch but the request is rejected by cassandra, however I think this is a use case than could be handled without problem. Below is what I wanted to do. I am using cassandra 3.7. CREATE KEYSPACE test_ksp WITH replication = {'class':