You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2015/11/02 11:50:27 UTC

[jira] [Commented] (CASSANDRA-10608) Adding a dynamic column to a compact storage table with the same name as the partition key causes a memtable flush deadlock

    [ https://issues.apache.org/jira/browse/CASSANDRA-10608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14985040#comment-14985040 ] 

Sylvain Lebresne commented on CASSANDRA-10608:
----------------------------------------------

The patch lgtm, but the test results aren't all that good: the unit tests have a few failures in {{ReadCommandTest}} that aren't in the cassandra-3.0 branch, and the dtests have basically all failed. I doubt any of this is related to this patch, but it would be nice to have slightly cleaner runs. Can you make sure your 3.0 branch is up to date and re-submit the tests?

> Adding a dynamic column to a compact storage table with the same name as the partition key causes a memtable flush deadlock
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10608
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10608
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Mike Adamson
>            Assignee: Mike Adamson
>            Priority: Minor
>             Fix For: 3.0.0
>
>         Attachments: 10608.txt
>
>
> The reproduction steps for this are as follows: 
> # Create the following schema:
> {noformat}
> CREATE KEYSPACE ks WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': '1'};
> CREATE TABLE ks.cf (k int, v int, PRIMARY KEY(k)) WITH COMPACT STORAGE;
> {noformat}
> # Using the thrift client execute the following:
> {noformat}
>         Column column = new Column(ByteBufferUtil.bytes("k"));
>         column.setValue(ByteBufferUtil.bytes(1));
>         column.setTimestamp(1);
>         client.insert(key, new ColumnParent(compactCf), column, ConsistencyLevel.ONE);
> {noformat}
> This causes an invalid {{PartitionUpdate}} to be added to {{Memtable}} containing a {{PartitionColumns}} containing the partition key {{ColumnDefinition}}.
> This happens because {{LegacyLayout.decodeCellName}} does not check whether the {{ColumnDefinition}} is a partition key 



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