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)