cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-12768) CQL often queries static columns unnecessarily
Date Mon, 10 Oct 2016 14:30:20 GMT

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

Sylvain Lebresne updated CASSANDRA-12768:
-----------------------------------------
    Status: Patch Available  (was: Open)

Patch attached below:
| [12768-3.0|https://github.com/pcmanus/cassandra/commits/12768-3.0] | [utests|http://cassci.datastax.com/job/pcmanus-12768-3.0-testall]
| [dtests|http://cassci.datastax.com/job/pcmanus-12768-3.0-dtest] |
| [12768-3.X|https://github.com/pcmanus/cassandra/commits/12768-3.X] | [utests|http://cassci.datastax.com/job/pcmanus-12768-3.X-testall]
| [dtests|http://cassci.datastax.com/job/pcmanus-12768-3.X-dtest] |

The 3.X patch is a tad bigger because 1) {{ColumnFilter}} has been refactored a bit since
3.0 and 2) I've tried to clean up naming a bit more than in 3.0 where I optimized more for
less changes.


> 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)

Mime
View raw message