cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Lerer (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-10739) Timeout for CQL Deletes on an Entire Partition Against Specified Columns
Date Tue, 24 Nov 2015 14:32:11 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-10739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Benjamin Lerer updated CASSANDRA-10739:
---------------------------------------
    Attachment: 10739-3.0.txt

The request {{delete color from composite_with_clustering where k1 = '1' and k2 = '1';}} 
is invalid as range deletions are not supported for specific columns.
The request would be valid if {{color}} was a static column or if the table had no clustering
keys.
The problem comes from the fact that I forgot to check in {{DeleteStatement}} if the table
was having none of its clustering keys specified. 

The patch adds this extra check and a unit tests to verify that the proper error is being
thrown.

||3.0||trunk||
|[utest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10739-3.0-testall/1/]|[utest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10739-trunk-testall/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10739-3.0-dtest/2/]|[dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10739-trunk-dtest/1/]|

> Timeout for CQL Deletes on an Entire Partition Against Specified Columns
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10739
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10739
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL, Local Write-Read Paths
>            Reporter: Caleb William Rackliffe
>            Assignee: Benjamin Lerer
>             Fix For: 3.1
>
>         Attachments: 10739-3.0.txt
>
>
> {noformat}
> cqlsh:graphs> delete color from composite_pk where k1 = '1' and k2 = '1';
> cqlsh:graphs> create table composite_with_clustering(k1 text, k2 text, c1 text, color
text, value float, primary key ((k1, k2), c1));
> cqlsh:graphs> insert into composite_with_clustering(k1, k2, c1, value) values ('1','1',
'1', 6);
> cqlsh:graphs> insert into composite_with_clustering(k1, k2, c1, color) values ('1','1',
'2', 'green');
> cqlsh:graphs> delete color from composite_with_clustering where k1 = '1' and k2 =
'1';
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica nodes' responses]
message="Operation timed out - received only 0 responses." info={'received_responses': 0,
'required_responses': 1, 'consistency': 'ONE'}
> {noformat}
> {{Clustering$Serializer}} clearly doesn't like this:
> {noformat}
> WARN  [SharedPool-Worker-2] 2015-11-19 20:55:15,935  AbstractTracingAwareExecutorService.java:169
- Uncaught exception on thread Thread[SharedPool-Worker-2,5,main]: {}
> java.lang.AssertionError: Invalid clustering for the table: org.apache.cassandra.db.Clustering$2@3157dded
> 	at org.apache.cassandra.db.Clustering$Serializer.serialize(Clustering.java:136) ~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:159)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:108)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:96)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:132)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.partitions.PartitionUpdate$PartitionUpdateSerializer.serialize(PartitionUpdate.java:599)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.Mutation$MutationSerializer.serialize(Mutation.java:291)
~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> 	at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:279) ~[cassandra-all-3.0.0.710.jar:3.0.0.710]
> {noformat}
> If this isn't supported, there should probably be a more obvious error message.



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

Mime
View raw message