You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2016/12/07 10:53:58 UTC

[jira] [Updated] (CASSANDRA-12768) CQL often queries static columns unnecessarily

     [ https://issues.apache.org/jira/browse/CASSANDRA-12768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-12768:
-----------------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 3.0.x)
                       (was: 3.x)
                   3.10
                   3.0.11
           Status: Resolved  (was: Patch Available)

Alright, committed, thanks.

bq. However, I do still want to figure out what's up with the behavior in {{returnStaticContentOnPartitionWithNoRows()}}

Agreed. I actually created CASSANDRA-13013 to make we don't lose track of this. I was wrong btw, it's definitively not a merge error since the original patch for trunk on CASSANDRA-6377 had that removal. So there may be a good reason this is not needed anymore I'm missing right now, but we'll get an answer on that followup ticket.


> 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.11, 3.10
>
>
> 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)