You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2016/08/05 07:56:20 UTC

[jira] [Commented] (CASSANDRA-12387) List Append order is wrong

    [ 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)