cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
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
             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 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}}:

command.clusteringIndexFilter(partitionKey).forPaging(metadata.comparator, lastClustering,

... 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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message