You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict (JIRA)" <ji...@apache.org> on 2015/01/28 15:26:36 UTC

[jira] [Resolved] (CASSANDRA-8691) SSTableReader.getPosition() does not correctly filter out queries that exceed its bounds

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

Benedict resolved CASSANDRA-8691.
---------------------------------
    Resolution: Duplicate

> SSTableReader.getPosition() does not correctly filter out queries that exceed its bounds
> ----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8691
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8691
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>             Fix For: 2.1.3
>
>
> This has been true for some time, but I worry about including it before 2.1 in case we depend on the brokenness somehow. In getPosition, we test:
> {code}
>         if (first.compareTo(key) > 0 || last.compareTo(key) < 0)
>         {
>             if (op == Operator.EQ && updateCacheAndStats)
>                 bloomFilterTracker.addFalsePositive();
>             if (op.apply(1) < 0)
>             {
>                 Tracing.trace("Check against min and max keys allows skipping sstable {}", descriptor.generation);
>                 return null;
>             }
>         }
> {code}
> However, op.apply(1) always returns >= 0 unless op == Operation.EQ



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