cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-13880) Fix short read protection for tables with single columns PKs
Date Fri, 15 Sep 2017 19:19:00 GMT
Aleksey Yeschenko created CASSANDRA-13880:
---------------------------------------------

             Summary: Fix short read protection for tables with single columns PKs
                 Key: CASSANDRA-13880
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13880
             Project: Cassandra
          Issue Type: Bug
          Components: Coordination
            Reporter: Aleksey Yeschenko
            Assignee: Aleksey Yeschenko
            Priority: Critical
             Fix For: 3.0.x, 3.11.x


CASSANDRA-12872 fixed counting replica rows, so that we do now fetch more than one extra row
if necessary.

Fixing the issue caused consistency_test.py:TestConsistency.test_13747 to start failing, by
exposing a bug in the way we handle empty clusterings.

When {{moreContents()}} asks for another row and {{lastClustering}} is {{EMPTY}}, the response
again (and again) contains the row with {{EMPTY}} clustering.

SRP assumes it’s a new row, counts it as one, gets confused and keeps asking for more, in
a loop, again and again.

Arguably, a response to a read command with the following non-inclusive {{ClusteringIndexFilter}}:

{code}
command.clusteringIndexFilter(partitionKey).forPaging(metadata.comparator, lastClustering,
false);
{code}

... should return nothing at all rather than a row with an empty clustering.

Also arguably, SRP should not even attempt to fetch more rows if {{lastClustering}} == {{Clustering.EMPTY}}.
In a partition key only column
we shouldn’t expect any more rows.

This JIRA is to fix the latter issue on SRP side - to modify SRP logic to short-circuit execution
if {{lastClustering}} was an {{EMPTY}} one instead of querying pointlessly for non-existent
extra rows.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message