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

2016-05-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11489:
---

So, the ticket had nothing to do with DCT in the end, and instead with two 
separate upgrade issues - CASSANDRA-11930 and CASSANDRA-11932. I'm closing this 
ticket in favour of the mentioned two, them being more specific and easily 
reproducible individually.

> 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.(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)


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

2016-05-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11489:
---

The second issue is about mixed and dynamic Thrift CFs deletions of the dynamic 
component being translated into range tombstones in 3.0 -> 2.1 direction. On 
3.0 side they are whole row deletions, and {{LegacyLayout::fromRow(CFMetaData, 
Row)}} turns them into range tombstones even for non-composite, dynamic and 
mixed Thrift CFs. They should be converted into single-cell deletions instead.

This is not a correctness problem, strictly speaking, and on its own 'only' 
causes digest mismatches on reads (and thus a lot of extra traffic w/ CL > ONE) 
and less efficient representation on wire.

Otherwise it's not visible on its own, without bugs like CASSANDRA-11930 
revealing it.

> 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.(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

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

2016-05-31 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11489:
---

At least two bugs here.

1. {{LegacyLayout.LegacyRangeTombstoneList::serialize}} has a broken assumption 
that a range tombstone implies {{CompositeType}}. This is incorrect, as you can 
have non-{{CompositeType}} range tombstones created via Thrift, and as such 
wrapping {{clusteringComparator.subtypes()}} in a {{CompositeType}} is 
incorrect. On 2.1/2.2 side, when decoding the range tombstone list, 
{{RangeTombstoneList::deserialize()}} will use the raw type to decode start and 
end bounds, which will end up being confused by the extra 2 bytes in the 
beginning (short length) plus end of component header in the end.

In this particular case, DCT is failing to decode {{00 09 80 62 00 04 64 61 74 
61 00 00}}, interpreting {{00 09}} as length, instead of {{80 62}} which would 
be an alias for {{d => BytesType}} in CFS.

2. CFS doesn't really use range tombstones, however, so issue (1) shouldn't 
even manifest itself in the first place. Still looking into how that happens, 
but a few other bugs - including in {{sstabledump}} - are making this whole 
process frustrating/annoying.

(1) is however legit on its own and can be reproduced easily outside of CFS/DCT 
context.

> 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.(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

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

2016-05-19 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-11489:
-

No, unfortunately nothing obvious comes to mind.  The code for serializing 
range tombstones in the "legacy" format is fairly complex, so there's 
definitely a possibility that there's a bug there.  I would put a bunch of 
debug statements in {{LegacyLayout.fromUnfilteredRowIterator()}} to check what 
kinds of deletions are present in 3.0 and what the 3.0 node _thinks_ it's 
serializing.

> 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.(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 At

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

2016-05-19 Thread Aleksey Yeschenko (JIRA)

[ 
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.(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

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

2016-04-26 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan commented on CASSANDRA-11489:
-

[~iamaleksey] yes, still seeing it during upgrade tests from 2.1.13 to 
cassandra-3.0@a4e1182816909761c98355b1079b2f9de8efc4bd

> 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.(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)


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

2016-04-25 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-11489:
---

Can you still reproduce this, [~ht...@datastax.com]?

> 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.(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)