Sylvain Lebresne created CASSANDRA-12768:
--------------------------------------------

             Summary: CQL often queries static columns unnecessarily
                 Key: CASSANDRA-12768
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12768
             Project: Cassandra
          Issue Type: Bug
            Reporter: Sylvain Lebresne
            Assignee: Sylvain Lebresne
             Fix For: 3.0.x, 3.x


While looking at CASSANDRA-12694 (which isn't directly related, but some of the 
results in this ticket are explained by this), I realized that CQL was always 
querying static columns even in cases where this is unnecessary.

More precisely, for reasons long described elsewhere, we have to query all the 
columns for a row (we have optimizations, see CASSANDRA-10657, but they don't 
change that general fact) to be able to distinguish between the case where a 
row doesn't exist from when it exists but has no values for the columns 
selected by the query. *However*, this really only extend to "regular" columns 
(static columns play no role in deciding whether a particular row exists or 
not) but the implementation in 3.x, which is in {{ColumnFilter}}, still always 
query all static columns.

We shouldn't do that and it's arguably a performance regression from 2.x. Which 
is why I'm tentatively marking this a bug and for the 3.0 line. It's a tiny bit 
scary for 3.0 though so really more asking for other opinions and I'd be happy 
to stick to 3.x.



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

Reply via email to