[jira] [Updated] (CASSANDRA-5786) Thrift cas() method crashes if input columns are not sorted.
[ https://issues.apache.org/jira/browse/CASSANDRA-5786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-5786: Labels: LWT (was: ) > 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 >Priority: Major > Labels: LWT > 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 was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-5786) Thrift cas() method crashes if input columns are not sorted.
[ 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 Attaching simple patch to switch to TreeMap. I'm also including a minor optimization that switch to ArraySorted when we clone the updates in Commit#updatesWithPaxosTime. 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 Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne 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
[jira] [Updated] (CASSANDRA-5786) Thrift cas() method crashes if input columns are not sorted.
[ https://issues.apache.org/jira/browse/CASSANDRA-5786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-5786: Attachment: (was: 5786.txt) 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 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
[jira] [Updated] (CASSANDRA-5786) Thrift cas() method crashes if input columns are not sorted.
[ 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