cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Petrov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11629) java.lang.UnsupportedOperationException when selecting rows with counters
Date Sat, 30 Apr 2016 18:52:13 GMT

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

Alex Petrov commented on CASSANDRA-11629:
-----------------------------------------

Oh looks like i edited the message instead of posting the new one:

I've made the changes to catch the null values on the "left" side (the ones that are read
from the DB), the "right hand side" values are not allowed for filtering for now.

|[trunk|https://github.com/ifesdjeen/cassandra/tree/11629-trunk]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-11629-trunk-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-11629-trunk-dtest/]|
|[3.0|https://github.com/ifesdjeen/cassandra/tree/11629-3.0]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-11629-3.0-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-11629-3.0-dtest/]|

I have also added paging tests with counter columns in [dtest|https://github.com/riptano/cassandra-dtest/pull/956].

The {{dtest}} failures on trunk are unrelated. All branches (including dtest) are rebased.

> java.lang.UnsupportedOperationException when selecting rows with counters
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11629
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11629
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Ubuntu 16.04 LTS
> Cassandra 3.0.5 Community Edition
>            Reporter: Arnd Hannemann
>            Assignee: Alex Petrov
>              Labels: 3.0.5
>             Fix For: 3.6, 3.0.x
>
>
> When selecting a non empty set of rows with counters a exception occurs:
> {code}
> WARN  [SharedPool-Worker-2] 2016-04-21 23:47:47,542 AbstractLocalAwareExecutorService.java:169
- Uncaught exception on thread Thread[SharedPool-Worker-2,5,main]: {}
> java.lang.RuntimeException: java.lang.UnsupportedOperationException
>         at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2449)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_45]
>         at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-3.0.5.jar:3.0.5]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> Caused by: java.lang.UnsupportedOperationException: null
>         at org.apache.cassandra.db.marshal.AbstractType.compareCustom(AbstractType.java:172)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:158)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.marshal.AbstractType.compareForCQL(AbstractType.java:202)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.cql3.Operator.isSatisfiedBy(Operator.java:169) ~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.filter.RowFilter$SimpleExpression.isSatisfiedBy(RowFilter.java:619)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.filter.RowFilter$CQLFilter$1IsSatisfiedFilter.applyToRow(RowFilter.java:258)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.BaseRows.applyOne(BaseRows.java:95) ~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.BaseRows.add(BaseRows.java:86) ~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.UnfilteredRows.add(UnfilteredRows.java:21)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.Transformation.add(Transformation.java:136)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.Transformation.apply(Transformation.java:102)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.filter.RowFilter$CQLFilter$1IsSatisfiedFilter.applyToPartition(RowFilter.java:246)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.filter.RowFilter$CQLFilter$1IsSatisfiedFilter.applyToPartition(RowFilter.java:236)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:76)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:295)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:134)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:127)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:123)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:289) ~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1792)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2445)
~[apache-cassandra-3.0.5.jar:3.0.5]
>         ... 5 common frames omitted
> {code}
> Steps to reproduce:
> {code}
> arnd@kallisto:~$ cqlsh
> Warning: Timezone defined and 'pytz' module for timezone conversion not installed. Timestamps
will be displayed in UTC timezone.
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.0.5 | CQL spec 3.4.0 | Native protocol v4]
> Use HELP for help.
> cqlsh>  CREATE KEYSPACE ks_counters WITH replication = {'class': 'SimpleStrategy',
'replication_factor': '1'}  AND durable_writes = true;
> cqlsh> use ks_counters;
> cqlsh:ks_counters> create table blub (id int, a counter, b counter, PRIMARY KEY (id));
> cqlsh:ks_counters> update blub set a=a+1 where id =1;
> cqlsh:ks_counters> select * from blub;
>  id | a | b
> ----+---+------
>   1 | 1 | null
> (1 rows)
> cqlsh:ks_counters> select * from blub where b > 0 allow filtering;
>  id | a | b
> ----+---+---
> (0 rows)
> cqlsh:ks_counters> select * from blub where a > 0 allow filtering;
> Traceback (most recent call last):
>   File "/usr/bin/cqlsh.py", line 1316, in perform_simple_statement
>     result = future.result()
>   File "/usr/share/cassandra/lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cluster.py",
line 3122, in result
>     raise self._final_exception
> ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation failed
- received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses':
1, 'consistency': 'ONE'}
> cqlsh:ks_counters> 
> {code}



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

Mime
View raw message