cassandra-commits mailing list archives

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

    [ https://issues.apache.org/jira/browse/CASSANDRA-12768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15687479#comment-15687479
] 

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|http://cassci.datastax.com/job/pcmanus-12768-3.0-dtest/lastCompletedBuild/testReport/paging_test/TestPagingData/static_columns_paging_test/].
 Can you look into that?

> 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