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

David Loegering edited comment on CASSANDRA-9324 at 9/21/15 12:47 PM:
----------------------------------------------------------------------

Hi Tyler,

Thanks for the explanation, but that is where the confusion is, we are not 
using 2.0 nodes.  We are using 2.1 with the 2.1 generated thrift interface and 
it is not working.  We are not using 2.0 nodes nor a 2.0 interface.  Wouldn’t 
that indicate that there is an issue with the 2.1 interface?  Where in the 2.1 
thrift interface layer do we need to make the change?  Should this issue be 
reopened?

Kind Regards,

David





was (Author: dloegering):
Hi Tyler,





Thanks for the explanation, but that is where the confusion is, we are not 
using 2.0 nodes.  We are using 2.1 with the 2.1 generated thrift interface and 
it is not working.  We are not using 2.0 nodes nor a 2.0 interface.  Wouldn’t 
that indicate that there is an issue with the 2.1 interface?  Where in the 2.1 
thrift interface layer do we need to make the change?  Should this issue be 
reopened?


Kind Regards,


David





From: Tyler Hobbs (JIRA)
Sent: ‎Friday‎, ‎September‎ ‎18‎, ‎2015 ‎4‎:‎33‎ ‎PM
To: dloeger...@comcast.net






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

Tyler Hobbs commented on CASSANDRA-9324:
----------------------------------------

[~dloegering] no, collections are still supported, you just need to encode 
collections slightly different when talking to 2.1 nodes vs 2.0 nodes.  With 
2.0 nodes, the collection element count and the sizes of individual collection 
elements should be shorts (two bytes).  With 2.1 nodes, the collection element 
count and sizes are ints (four bytes).




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


> Map Mutation rejected by Cassandra: IllegalArgumentException
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-9324
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9324
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>         Environment: Windows 7, Cassandra 2.1.5
>            Reporter: Mark Wick
>            Assignee: Tyler Hobbs
>            Priority: Minor
>
> We use a collection (map<ascii,ascii>) in a CQL3 table. We write into that 
> cql3 table using thrift mutations, from a c++ application. We are prototyping 
> migrating from our current Cassandra (2.0.7) to 2.1.5, and are unable to 
> write rows to this cql3 table. We have no problems when we remove the writes 
> to the map column, and all other writes succeed in this case. Cassandra is 
> rejecting our writes and we are catching a TTransportException (no more data 
> to read). The below call stack is from the Cassandra instance that is 
> rejecting the write.
> {code}
> ERROR 14:08:10 Error occurred during processing of message.
> java.lang.IllegalArgumentException: null
>         at java.nio.Buffer.limit(Unknown Source) ~[na:1.7.0_71]
>         at 
> org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:543) 
> ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.serializers.CollectionSerializer.readValue(CollectionSerializer.java:124)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.serializers.MapSerializer.validateForNativeProtocol(MapSerializer.java:80)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.serializers.CollectionSerializer.validate(CollectionSerializer.java:61)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.db.marshal.AbstractType.validate(AbstractType.java:97) 
> ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.ThriftValidation.validateColumnData(ThriftValidation.java:449)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.ThriftValidation.validateColumnOrSuperColumn(ThriftValidation.java:318)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.ThriftValidation.validateMutation(ThriftValidation.java:385)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.CassandraServer.createMutationList(CassandraServer.java:861)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.CassandraServer.batch_mutate(CassandraServer.java:976)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3996)
>  ~[apache-cassandra-thrift-2.1.5.jar:2.1.5]
>         at 
> org.apache.cassandra.thrift.Cassandra$Processor$batch_mutate.getResult(Cassandra.java:3980)
>  ~[apache-cassandra-thrift-2.1.5.jar:2.1.5]
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) 
> ~[libthrift-0.9.2.jar:0.9.2]
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) 
> ~[libthrift-0.9.2.jar:0.9.2]
>         at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:205)
>  ~[apache-cassandra-2.1.5.jar:2.1.5]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
> [na:1.7.0_71]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
> [na:1.7.0_71]
>         at java.lang.Thread.run(Unknown Source) [na:1.7.0_71]{code}



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

Reply via email to