You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksey Yeschenko (JIRA)" <ji...@apache.org> on 2016/05/19 14:38:12 UTC

[jira] [Commented] (CASSANDRA-11489) DynamicCompositeType failures during 2.1 to 3.0 upgrade.

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

Aleksey Yeschenko commented on CASSANDRA-11489:
-----------------------------------------------

[~thobbs] I initially assumed that the problem here was with DCT, but apparently a 2.1 node, when decoding a read response from a 3.0 node, is trying to deserialise some range tombstones that just cannot be there (this trace is from reading a CFS table, and those use only cell level tombstones and whole partition deletions, exclusively).

Having written 3.0-2.1 upgrade compat code, anything obvious comes to mind re: how this got here?

> DynamicCompositeType failures during 2.1 to 3.0 upgrade.
> --------------------------------------------------------
>
>                 Key: CASSANDRA-11489
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11489
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jeremiah Jordan
>            Assignee: Aleksey Yeschenko
>             Fix For: 3.0.x, 3.x
>
>
> When upgrading from 2.1.13 to 3.0.4+some (hash 70eab633f289eb1e4fbe47b3e17ff3203337f233) we are seeing the following exceptions on 2.1 nodes after other nodes have been upgraded. With tables using DynamicCompositeType in use.  The workload runs fine once everything is upgraded.
> {code}
> ERROR [MessagingService-Incoming-/10.200.182.2] 2016-04-03 21:49:10,531  CassandraDaemon.java:229 - Exception in thread Thread[MessagingService-Incoming-/10.200.182.2,5,main]
> java.lang.RuntimeException: java.nio.charset.MalformedInputException: Input length = 1
> 	at org.apache.cassandra.db.marshal.DynamicCompositeType.getAndAppendComparator(DynamicCompositeType.java:181) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.marshal.AbstractCompositeType.getString(AbstractCompositeType.java:200) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:54) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.composites.SimpleSparseCellNameType.fromByteBuffer(SimpleSparseCellNameType.java:83) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:398) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:382) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.RangeTombstoneList$Serializer.deserialize(RangeTombstoneList.java:843) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.DeletionInfo$Serializer.deserialize(DeletionInfo.java:407) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:105) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:89) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.Row$RowSerializer.deserialize(Row.java:73) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.ReadResponseSerializer.deserialize(ReadResponse.java:116) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.ReadResponseSerializer.deserialize(ReadResponse.java:88) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.net.MessageIn.read(MessageIn.java:99) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:195) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.net.IncomingTcpConnection.receiveMessages(IncomingTcpConnection.java:172) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:88) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> Caused by: java.nio.charset.MalformedInputException: Input length = 1
> 	at java.nio.charset.CoderResult.throwException(CoderResult.java:281) ~[na:1.8.0_40]
> 	at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816) ~[na:1.8.0_40]
> 	at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:152) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:109) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	at org.apache.cassandra.db.marshal.DynamicCompositeType.getAndAppendComparator(DynamicCompositeType.java:169) ~[cassandra-all-2.1.13.1131.jar:2.1.13.1131]
> 	... 16 common frames omitted
> {code}



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