Nope, I didn’t comment on that query.   I specifically answered your question about "select * from hello where a='foo' allow filtering;”

The query you’ve listed here looks like it would also do a full table scan (again, I don’t see how it would be avoided).

I recommend firing up a 3 node cluster using CCM, creating a key space with RF=1, and seeing what it does.  

On May 9, 2017, at 9:12 AM, Kant Kodali <> wrote:


Are you saying The following query select max(b) from hello where a='a1' allow filtering; doesn't result in a table scan? I got the result for this query and yes I just tried tracing it and looks like it is indeed doing a table scan on ReadStage-2 although I am not sure if I am interpreting it right? Finally is there anyway to prevent table scan while providing the partial partition key and get the max b ?

<Screen Shot 2017-05-09 at 7.07.46 AM.png>

On Tue, May 9, 2017 at 6:33 AM, Jon Haddad <> wrote:
I don’t see any way it wouldn’t.  Have you tried tracing it?

> On May 9, 2017, at 8:32 AM, Kant Kodali <> wrote:
> Hi All,
> It looks like Cassandra 3.10 has partial partition key search but does it result in a table scan? for example I can have the following
> create table hello(
> a text,
> b int,
> c text,
> d text,
> primary key((a,b), c)
> );
> Now I can do select * from hello where a='foo' allow filtering;// This works in 3.10 but I wonder if this query results in table scan and if so is there any way to limit such that I get max b?
> Thanks!