[ 
https://issues.apache.org/jira/browse/CASSANDRA-12387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15409088#comment-15409088
 ] 

Sylvain Lebresne commented on CASSANDRA-12387:
----------------------------------------------

I suspect this is simply due to the update being done too quickly after the 
insert. Append is actually based on time and given potential clock differences 
between nodes, you can't unfortunately entirely predict the real order of 
updates to lists if there are done pretty much at the same time and on 
different coordinator. If I'm right, adding a small sleep between the insert 
and the update would fix that. Another solution would be to make sure both 
insert and update get to the same coordinator (but that's really a java driver 
question, so please email the driver mailing list if you have question on that).

It might work with DevCenter either because things are send more slowly with 
it, or maybe DevCenter only connect to a single node and sends all updates to 
it (contrarily to the driver whose round-robin requests by default. That said, 
I know next to nothing about DevCenter so consider that last part about 
DevCenter as speculation.

Again assuming I'm right about the cause, that's unfortunately a current 
limitation of the design of lists, and unless someone has a simple clever idea 
to fix this, this may have to just be counted are just part of the numerous 
limitations of lists (which we certainly need to document, so I'm happy at 
least using that ticket for that documentation addition).

> List Append order is wrong
> --------------------------
>
>                 Key: CASSANDRA-12387
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12387
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: cassandra 2.1.13
>            Reporter: ZhaoYang
>             Fix For: 2.1.16
>
>
> "INSERT INTO collection_type(key,normal_column,list_column) VALUES 
> ('k','value',[ '#293847','#323442' ]);"
> "UPDATE collection_type SET list_column=list_column+'#611987' WHERE key='k`;"
> Using 2.1.7.1 java driver to run Update query, the output is: '#611987', 
> '#293847','#323442'
> Using DevCenter 1.3.1 to execute Update query, result is in correct order: 
> '#293847','#323442', '#611987'
> The error happened in 3 node cluster. In local, one node is working properly.
> (all Cassandra 2.1.13. It also happened to 3.0.x driver)
> Is it related to internal message processing?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to