[
https://issues.apache.org/jira/browse/CASSANDRA-12768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15724987#comment-15724987
]
Sylvain Lebresne commented on CASSANDRA-12768:
----------------------------------------------
bq. Why doesn't the 3.0 patch include the change to
{{ColumnFilter.newTester()}} that you have in 3.x?
No reason that I can remember, this seems to be an oversight, so added.
bq. Why doesn't {{returnStaticContentOnPartitionWithNoRows()}} specifically
handle secondary index queries specially like the 3.0 patch?
You know what, I don't know and that's not due to this patch. {{git}} seems to
blame the merge commit done for CASSANDRA-6377 by [~blerer] for that removal,
so [~blerer] might be able to say if there is some reason behind it or if it's
a merge error. Should be dealt with someplace else though really.
bq. t looks like there's a static column related test error
Yes, and that was legit, due to missing to update the
{{ColumnFilter.includesAllColumns}} method properly, so fixed that (3.X was a
bit different here and not affected, but I still changing the method to match
as that felt more easy to follow).
I've restarted CI, waiting on the results.
> 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)