cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Petrov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-12910) SASI: calculatePrimary() always returns null
Date Tue, 06 Dec 2016 16:48:58 GMT

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

Alex Petrov commented on CASSANDRA-12910:
-----------------------------------------

I've used a simple test to verify and I think your fix is good. Although I do not see a good
way to test it without exposing a lot of internals for now.

So what happens is in {{getView}} instead of querying all SSTables, we're going to query only
those which would (possibly) yield results for the expression that involves the least amount
of sstables. The order does not matter, as it's going to be changed later in {{RangeIntersectionIterator}},
depending on the size of token trees. 

I've tested the patch on our CI: 

|[3.X|https://github.com/ifesdjeen/cassandra/tree/12910-3.x]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12910-3.x-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12910-3.x-dtest/]|
|[trunk|https://github.com/ifesdjeen/cassandra/tree/12910-trunk]|[utest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12910-trunk-testall/]|[dtest|https://cassci.datastax.com/view/Dev/view/ifesdjeen/job/ifesdjeen-12910-trunk-dtest/]|


> SASI: calculatePrimary() always returns null
> --------------------------------------------
>
>                 Key: CASSANDRA-12910
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12910
>             Project: Cassandra
>          Issue Type: Bug
>          Components: sasi
>            Reporter: Corentin Chary
>            Assignee: Corentin Chary
>            Priority: Minor
>             Fix For: 3.x
>
>         Attachments: 0002-sasi-fix-calculatePrimary.patch
>
>
> While investigating performance issues with SASI  (https://github.com/criteo/biggraphite/issues/174
if you want to know more) I ended finding calculatePrimary() in QueryController.java which
apparently should return the "primary index".
> It lacks documentation, and I'm unsure what the "primary index" should be, but apparently
this function never returns one because primaryIndexes.size() is always 0.
> https://github.com/apache/cassandra/blob/81f6c784ce967fadb6ed7f58de1328e713eaf53c/src/java/org/apache/cassandra/index/sasi/plan/QueryController.java#L237
> I'm unsure if the proper fix is checking if the collection is empty or reversing the
operator (selecting the index with higher cardinality versus the one with lower cardinality).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message