cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lerh Chuan Low (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-11882) Clustering Key with ByteBuffer size > 64k throws Assertion Error
Date Thu, 02 Jun 2016 01:33:59 GMT

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

Lerh Chuan Low edited comment on CASSANDRA-11882 at 6/2/16 1:33 AM:
--------------------------------------------------------------------

Branimir & Sylvian,

Thanks for the reviews so far. I was under the impression that {{Clustering}} itself is already
a clustering column, good catch. I've retraced through the code path and I've updated the
patch so that it only refuses larger than 64k values for clustering columns (i.e an INSERT
with ckey1 = 32k and ckey2 = 32k will work, and memtable flushing still works in that case
too :)). 

I've created the other issue here: [CASSANDRA-11943|https://issues.apache.org/jira/browse/CASSANDRA-11943].
I don't think I have permissions to assign it to Sylvain, feel free to let me know if there
is anything unclear with the setup etc. 






was (Author: lerh low):
Branimir & Sylvian,

Thanks for the reviews so far. I was under the impression that {{Clustering}} itself is already
a clustering column, good catch. I've retraced through the code path and I've updated the
patch so that it only refuses larger than 64k values for clustering columns (i.e an INSERT
with ckey1 = 32k and ckey2 = 32k will work, and memtable flushing still works in that case
too :)). 

I've created the other issue here: https://issues.apache.org/jira/browse/CASSANDRA-11943.
I don't think I have permissions to assign it to Sylvain, feel free to let me know if there
is anything unclear with the setup etc. 





> Clustering Key with ByteBuffer size > 64k throws Assertion Error
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-11882
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11882
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL, Streaming and Messaging
>            Reporter: Lerh Chuan Low
>             Fix For: 2.1.x, 2.2.x
>
>         Attachments: 11882-2.1.txt, 11882-2.2.txt, 11882-3.X.txt
>
>
> Setup:
> {code}
> CREATE KEYSPACE Blues WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor'
: 2};
> CREATE TABLE test (a text, b text, PRIMARY KEY ((a), b))
> {code}
> There currently doesn't seem to be an existing check for selecting clustering keys that
are larger than 64k. So if we proceed to do the following select:
> {code}
> CONSISTENCY ALL;
> SELECT * FROM Blues.test WHERE a = 'foo' AND b = 'something larger than 64k';
> {code}
> An AssertionError is thrown in `ByteBufferUtil` with just a number and an error message
detailing 'Coordinator node timed out waiting for replica nodes responses' . Additionally,
because an error extends Throwable (it's not a subclass of Exception), it's not caught so
the connection between the coordinator node and the other nodes which have the replicas seem
to be 'stuck' until it's restarted. Any other subsequent queries, even if it's just SELECT
where a = 'foo' and b = 'bar', will always return the Coordinator timing out waiting for replica
nodes responses'.



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

Mime
View raw message