Description
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.
Attachments
Issue Links
- is depended upon by
-
CASSANDRA-12694 PAXOS Update Corrupted empty row exception
- Resolved