[
https://issues.apache.org/jira/browse/CASSANDRA-10608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14980053#comment-14980053
]
Sylvain Lebresne commented on CASSANDRA-10608:
----------------------------------------------
I would strongly suspect that clustering columns are also affected so I think
the patch should use {{def.isPrimaryKeyColumn()}} rather than
{{def.isPartitionKey()}}.
> 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)