[ https://issues.apache.org/jira/browse/CASSANDRA-12666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15552104#comment-15552104 ]
Alex Petrov commented on CASSANDRA-12666: ----------------------------------------- You're right, same exact result can be achieved by just short-circuiting the filtering part. I've changed this part. Problem with filtering on of the partition key is that we have to hit all replicas in order to satisfy the slice, which is not the case with tokens. In fact, both {{... WHERE pk < 5 AND reg = 2}} and {{... WHERE reg = 2}} will be fetching same amount of data and filtering it afterwards. We can't get same problem with restrictions on token as a different code path is used for [key bounds|https://github.com/apache/cassandra/blob/3f49c328f202e68b67a9caaa63522e333ea5006f/src/java/org/apache/cassandra/cql3/restrictions/StatementRestrictions.java#L678] and for [concrete bound|https://github.com/apache/cassandra/blob/3f49c328f202e68b67a9caaa63522e333ea5006f/src/java/org/apache/cassandra/cql3/restrictions/StatementRestrictions.java#L708]. I've rebased trunk and 3.x and re-triggered CI: |[trunk|https://github.com/ifesdjeen/cassandra/tree/12666-trunk]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12666-trunk-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12666-trunk-dtest/]| |[3.X|https://github.com/ifesdjeen/cassandra/tree/12666-3.X]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12666-3.X-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12666-3.X-dtest/]| (3.0 is unaffected since it doesn't have PK filtering patch) > dtest failure in > paging_test.TestPagingData.test_paging_with_filtering_on_partition_key > --------------------------------------------------------------------------------------- > > Key: CASSANDRA-12666 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12666 > Project: Cassandra > Issue Type: Bug > Reporter: Sean McCarthy > Assignee: Alex Petrov > Labels: dtest > Fix For: 3.x > > Attachments: node1.log, node1_debug.log, node1_gc.log, node2.log, > node2_debug.log, node2_gc.log, node3.log, node3_debug.log, node3_gc.log > > > example failure: > http://cassci.datastax.com/job/trunk_novnode_dtest/480/testReport/paging_test/TestPagingData/test_paging_with_filtering_on_partition_key > {code} > Standard Output > Unexpected error in node3 log, error: > ERROR [Native-Transport-Requests-3] 2016-09-17 00:50:11,543 Message.java:622 > - Unexpected exception during request; channel = [id: 0x467a4afe, > L:/127.0.0.3:9042 - R:/127.0.0.1:59115] > java.lang.AssertionError: null > at > org.apache.cassandra.dht.IncludingExcludingBounds.split(IncludingExcludingBounds.java:45) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.getRestrictedRanges(StorageProxy.java:2368) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy$RangeIterator.<init>(StorageProxy.java:1951) > ~[main/:na] > at > org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:2235) > ~[main/:na] > at > org.apache.cassandra.db.PartitionRangeReadCommand.execute(PartitionRangeReadCommand.java:184) > ~[main/:na] > at > org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:66) > ~[main/:na] > at > org.apache.cassandra.service.pager.PartitionRangeQueryPager.fetchPage(PartitionRangeQueryPager.java:36) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement$Pager$NormalPager.fetchPage(SelectStatement.java:328) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:375) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:250) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:78) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:216) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:247) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:232) > ~[main/:na] > at > org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) > ~[main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:516) > [main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:409) > [main/:na] > at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > [netty-all-4.0.39.Final.jar:4.0.39.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) > [netty-all-4.0.39.Final.jar:4.0.39.Final] > at > io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35) > [netty-all-4.0.39.Final.jar:4.0.39.Final] > at > io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357) > [netty-all-4.0.39.Final.jar:4.0.39.Final] > 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:162) > [main/:na] > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) > [main/:na] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > {code} > Related failures: > http://cassci.datastax.com/job/trunk_novnode_dtest/480/testReport/paging_test/TestPagingData/test_paging_with_filtering_on_partition_key_on_clustering_columns/ > http://cassci.datastax.com/job/trunk_novnode_dtest/480/testReport/paging_test/TestPagingData/test_paging_with_filtering_on_partition_key_on_clustering_columns_with_contains/ > http://cassci.datastax.com/job/trunk_novnode_dtest/480/testReport/paging_test/TestPagingData/test_paging_with_filtering_on_partition_key_on_counter_columns/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)