[
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