Benedict created CASSANDRA-8691:
-----------------------------------

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

Reply via email to