[ 
https://issues.apache.org/jira/browse/CASSANDRA-5786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5786:
----------------------------------------

    Attachment: 5786.txt

Disregard the comment above. For normal updates we keep columns unsorted until 
they are applied to the memtable and we should probably do that here too for 
consistency. So attaching patch that makes sure we don't assume the columns are 
sorted when deserializing for paxos.
                
> Thrift cas() method crashes if input columns are not sorted.
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-5786
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5786
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 2.0 beta 1
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 2.0 beta 2
>
>         Attachments: 5786.txt
>
>
> CassandraServer#cas() use UnsortedColumns for the "updates", which might 
> result later to a
> {noformat}
> java.lang.AssertionError: Added column does not sort as the last column
>         at 
> org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:115)
>         at 
> org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:117)
>         at 
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:119)
>         at 
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:96)
>         at 
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:91)
>         at 
> org.apache.cassandra.service.paxos.Commit$CommitSerializer.deserialize(Commit.java:139)
>         at 
> org.apache.cassandra.service.paxos.Commit$CommitSerializer.deserialize(Commit.java:128)
>         at org.apache.cassandra.net.MessageIn.read(MessageIn.java:99)
>         at 
> org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:175)
>         at 
> org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:135)
>         at 
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:82)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to