You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2015/12/02 01:08:10 UTC

[jira] [Created] (CASSANDRA-10796) Views do not handle single-column deletions of view PK columns correctly

Tyler Hobbs created CASSANDRA-10796:
---------------------------------------

             Summary: Views do not handle single-column deletions of view PK columns correctly
                 Key: CASSANDRA-10796
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10796
             Project: Cassandra
          Issue Type: Bug
          Components: Coordination
            Reporter: Tyler Hobbs
            Assignee: Tyler Hobbs
             Fix For: 3.0.1, 3.1


When a materialized view has a regular base column in its primary key, and that regular base column is deleted through a single-column deletion, the view does not handle it correctly, and may produce an error.

For example, with a table like:
{noformat}
CREATE TABLE foo (
    a int, b int, c int, d int
    PRIMARY KEY (a, b)
)
{noformat}

and a view like:
{noformat}
CREATE MATERIALIZED VIEW BAR
    AS SELECT * FROM foo
    WHERE ...
    PRIMARY KEY (a, d, b)
{noformat}

a deletion like this will not be handled correctly:
{noformat}
DELETE d FROM foo WHERE a = 0 AND b = 0
{noformat}

The source of the problem is that we aren't checking whether individual cells in the TemporalRow are live or not when building the clustering and partition key for the row.  Instead, we're just using the cell value, which is an empty ByteBuffer.

I should have a patch with a fix and tests posted tomorrow.



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