[ https://issues.apache.org/jira/browse/CASSANDRA-11629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Petrov updated CASSANDRA-11629: ------------------------------------ Reviewer: Sam Tunnicliffe > 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)