cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tommy Stendahl (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-12090) Digest mismatch if static column is NULL
Date Mon, 27 Jun 2016 13:24:52 GMT


Tommy Stendahl updated CASSANDRA-12090:
    Attachment: 12090.txt

> Digest mismatch if static column is NULL
> ----------------------------------------
>                 Key: CASSANDRA-12090
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Tommy Stendahl
>            Assignee: Tommy Stendahl
>         Attachments: 12090.txt, trace.txt
> If a table has a static column and this column has a null value for a partition a SELECT
on this partition will always trigger a digest mismatch, but the following full data read
will not trigger a read repair since there is  no mismatch in the data.
> This can be recreated using a 3 node ccm cluster with the following commands:
> {code:sql}
> CREATE KEYSPACE foo WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1': '3'
> CREATE TABLE ( key int, foo int, col int static, PRIMARY KEY (key, foo) );
> INSERT INTO (key, foo) VALUES ( 1,1);
> SELECT * FROM WHERE key = 1 and foo =1;
> {code}
> I have added the trace in an attachment. In the trace you can see that digest read is
performed and that there is a digest mismatch, but the full data read does not result in a
mismatch. Repeating the SELECT statement will give the same trace over and over.
> The problem seams to be that the name of the static column is included when the digest
response is calculated even if the column has no value. When the digest for the data response
is calculated the column name is not included.
> I think the can be solved by updating {{UnfilteredRowIterators.digest()}} so excludes
the static column if it has no value. I have a patch that does this, it merges to both 3.0
and trunk. 

This message was sent by Atlassian JIRA

View raw message