cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-12768) CQL often queries static columns unnecessarily
Date Tue, 22 Nov 2016 18:21:59 GMT


Tyler Hobbs commented on CASSANDRA-12768:

Sorry for the slow review, this fell off my radar.

Overall I think the patches will be fine to apply to both 3.0 and 3.x.  I just have a few
questions and comments on the patch:

* Why doesn't {{returnStaticContentOnPartitionWithNoRows()}} specifically handle secondary
index queries specially like the 3.0 patch?  It looks like this was already the case elsewhere
in 3.x, but I'd like to confirm the reason.
* We might as well rename {{isFetchAllRegulars}} to {{fetchAllRegulars}} in the 3.x patch,
since the latter feels more natural.
* Why doesn't the 3.0 patch include the change to {{ColumnFilter.newTester()}} that you have
in 3.x?

Additionally, it looks like there's a static column related test error in the [3.0 dtests|].
 Can you look into that?

> CQL often queries static columns unnecessarily
> ----------------------------------------------
>                 Key: CASSANDRA-12768
>                 URL:
>             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

View raw message