[
https://issues.apache.org/jira/browse/CASSANDRA-11932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15417925#comment-15417925
]
Tyler Hobbs commented on CASSANDRA-11932:
-----------------------------------------
I looked into this, and both {{cassandra-3.0}} and {{trunk}} generate
single-cell tombstones for row deletions in "dynamic" CFs.
I'm defining the CF like so:
{noformat}
cfdef = CfDef(
keyspace='ks',
name='cf',
column_type='Standard',
comparator_type='AsciiType',
key_validation_class='AsciiType',
default_validation_class='AsciiType',
column_metadata=[])
client.system_add_column_family(cfdef)
{noformat}
And performing a deletion like:
{noformat}
session.execute("DELETE FROM ks.cf WHERE key = 'key' AND column1 = 'b'")
{noformat}
Looking at extra debug logging, it's sending a single-cell tombstone.
I would also try reproducing with mixed static/dynamic CFs, but we won't
support those from CQL until CASSANDRA-10857 is complete, so I suspect that's
not what you're describing. Anything else I should try to reproduce with?
> Range tombstones generated instead of regular ones between 2.1 and 3.0 nodes
> (in 3.0 -> 2.1 direction) for some tables
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-11932
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11932
> Project: Cassandra
> Issue Type: Bug
> Components: Coordination
> Reporter: Aleksey Yeschenko
> Assignee: Tyler Hobbs
> Fix For: 3.0.x, 3.x
>
>
> Mixed and dynamic Thrift CFs deletions of the dynamic component are being
> translated into range tombstones in 3.0 -> 2.1 direction. On 3.0 side they
> are whole row deletions, and {{LegacyLayout::fromRow(CFMetaData, Row)}} turns
> them into range tombstones even for non-composite, dynamic and mixed Thrift
> CFs. They should be converted into single-cell deletions instead.
> This is not a correctness problem, strictly speaking, and on its own 'only'
> causes digest mismatches on reads (and thus a lot of extra traffic w/ CL >
> ONE) and less efficient representation on wire, though breaks some upgrades
> in combination with CASSANDRA-11930.
> To reproduce, create a mixed CF while both nodes are on 2.1, upgrade one node
> to 3.0, and with cqlsh connected to 3.0 remove some rows. Then do a {{SELECT
> *}} query in cqlsh when connected to 2.1.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)